我希望能够为我的用户备份crontab,但为此我需要知道它的存储位置。
#1 楼
实际上,不建议手动处理这些文件。根据crontab
手册页:每个用户都可以拥有自己的crontab,尽管这些是
/var/spool/cron/crontabs
中的文件,但它们并非要直接编辑。 /var/spool
下的文件被认为是临时文件/工作文件,这就是为什么它们可能在升级期间被删除的原因,尽管仔细研究cron
软件包的升级脚本可能对此有所了解。 /> 无论如何,备份cron条目或将其保存在主目录中的文件始终是一个好习惯。
我假设您正在使用
crontab -e
在苍蝇。如果是这样,您可以通过执行crontab -l
获得crontab文件的“副本”。通过管道将其传输到文件以获取“备份”:crontab -l > my-crontab
然后您可以编辑my-crontab文件以添加或修改条目,然后“安装”通过将其提供给crontab:
crontab my-crontab
此语法检查与
crontab -e
相同。评论
crontab -l比通过/ var / spool / cron / crontabs / $ USER容易,主要是因为对该文件具有奇异的权限。
–奥利♦
2012年11月13日16:02
cron的iptables保存。很好
–Parthian Shot
15年7月18日在0:10
也许我们应该放置一个crontab来自动备份> :)?
– PascalVKooten
15年7月27日在16:28
当您要管理或检查来自多个用户的crontab时,通过/ var / spool / cron / crontabs进行浏览很方便。
–dhasenan
16年8月6日在14:59
在您不熟悉的服务器上调查谜题时,通常使用sudo grep -rHin“ $ string” / etc / cron *(其中string可能是诸如docker,lftp,iptables等的命令)。还要检查用户crontabs。这就是导致我进行此问答的原因。sudo grep -rHin“ $ string” / etc / cron * / var / spool / cron *
–布鲁诺·布鲁诺斯基(Bruno Bronosky)
17-12-29 17:10
#2 楼
它存储在用户名下的/var/spool/cron/crontabs
文件夹中。 #3 楼
我终于找到了为什么我的crontabs和Postfix安装在启动后仍然中断的原因。这是一个非常愚蠢的原因,但是...我将
/var/spool
安装为tmpfs
RAM驱动器。 SSD进行了调整,以延长我的SSD的寿命。这样做时,我盲目地安装了/tmp
,/var/tmp
和/var/spool
作为tmpfs
,而没有考虑到影响。我认为/var/spool
就像/proc/
或/run/
一样,它仅在会话期间有用。我显然错了。评论
将/ tmp挂载为tmpfs应该是安全的,但不能挂载/ var / tmp或/ var / spool。 / tmp用于临时存储,重新启动后可能会丢失。 / var / tmp用于临时存储,该存储将在重新引导后保留。正如您所发现的,/ var / spool用于处理数据,在重新启动后该数据也将保留。
–胸骨
2014年6月30日下午5:42
参见pathname.com/fhs/2.2/fhs-5.15.html
–胸骨
2014年6月30日下午5:43
另请注意,现代SSD不再需要写计数。
–胸骨
2014年6月30日下午5:45
#4 楼
要列出系统中所有用户的所有cron作业: for 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,则此操作将不起作用,因为crontab -u正在当前系统上运行。
– JVE999
2014年10月9日在21:38
虽然我认为这是一种单行代码,因为它可以容纳少于80个字符并且有点可读性,但我通常喜欢以某种格式放置代码,以便人们可以复制粘贴或将其放在脚本中(并且,在脚本中,这不是一行代码)。建议编辑中...
–Parthian Shot
15年7月18日在0:14
另外,我将把它变成一个while读取用户循环,以处理用户名包含空格的情况,但这显然不是问题。用户名字符集非常有限。
–Parthian Shot
15年7月18日在0:24
评论
如果有人也可以给出原因,为什么会被删除@WalterTross是的,这很烦人。我想这是更新cron包的副作用,但我同意-这不是应该发生的事情。
呃,我不知道每次cron软件包升级都会删除用户cron!
@ pl1nk我不知道是什么清除了它,但它确实一直在发生。我猜机器里有鬼。
只是想提一下,这里有关于如何使用日志重建意外删除的crontab的说明:superuser.com/questions/384109/crontab-deleted并不是您真正要问的,但可能对某人有用。 >