自从我升级了用户的crontab之后,它就被清空了。这已经不是今年第一次发生这种情况了,每次都需要费力地恢复它。
我希望能够备份我的用户的crontab,但为此我需要知道它存储在哪里。
我希望能够备份我的用户的crontab,但为此我需要知道它存储在哪里。
crontab -l > my-crontab
crontab my-crontab
这与crontab -e
执行相同的语法检查。
crontab -l
比浏览/var/spool/cron/crontabs/$USER
要简单得多,主要是因为那个文件的权限非常奇怪。 - Oliiptables-save
是一个 cron 的命令。不错... - Parthian Shot/var/spool/cron/crontabs
是非常方便的。 - dhasenansudo grep -rHin "$string" /etc/cron*
(其中字符串可能是像docker
、lftp
、iptables
等命令)。同时,检查用户的定时任务也是个好主意。这就是我找到这个问答的原因。sudo grep -rHin "$string" /etc/cron* /var/spool/cron*
。 - Bruno Bronosky/var/spool/cron/crontabs
文件夹中。/tmp
挂载为tmpfs,这样是安全的,但是不能将/var/tmp
或者/var/spool
挂载为tmpfs。/tmp
用于临时存储,可能会在重启后丢失。/var/tmp
用于临时存储,在重启后仍然保留。而正如您发现的那样,/var/spool
用于待处理的数据,在重启后也会保留。 - thomasrutterfor user in $(cut -f1 -d: /etc/passwd)
do
echo $user
crontab -u $user -l
done
解决您的问题的另一种方法是将它们放置在cron.d文件夹中,并根据示例指定适当的用户每个cron:
00 01 * * * user /home/user/user-script.sh
crontab -u
是从您当前的系统中运行的。 - JVE999while read user
循环,以处理用户名包含空格的情况,但显然这并不是个问题。用户名字符集非常有限。 - Parthian Shot