保存Crontab文件

时间:2011-06-15 19:42:11

标签: bash unix cron

关于Crontab的一个简单问题,我保存crontab文件的位置是否重要? (使用crontab -e创建时间相关的作业)还是可以从任何目录中读取它们?

我问,因为我的crontab文件似乎被删除了,因为当我使用crontab -l时它没有返回任何内容。但是,我认为这是因为我将其保存为临时文件:Creating more permanent crontab files

3 个答案:

答案 0 :(得分:6)

通常,您使用crontab创建文件,并将其存储在您计算机的正确位置。

$ crontab < $HOME/etc/crontab

然后使用crontab -l列出它。

$ crontab -l
#   @(#)$Id: crontab,v 4.2 2007/09/17 02:41:00 jleffler Exp $
#   Crontab file for Home Directory for Jonathan Leffler (JL)
#-----------------------------------------------------------------------------
#Min     Hour    Day     Month   Weekday Command
#-----------------------------------------------------------------------------
0        *       *       *       *       /usr/bin/ksh /work4/jleffler/bin/Cron/hourly
1        1       *       *       *       /usr/bin/ksh /work4/jleffler/bin/Cron/daily
23       1       *       *       1-5     /usr/bin/ksh /work4/jleffler/bin/Cron/weekday
2        3       *       *       0       /usr/bin/ksh /work4/jleffler/bin/Cron/weekly
21       3       1       *       *       /usr/bin/ksh /work4/jleffler/bin/Cron/monthly
$

我保留原文的地方并不重要(但在$HOME/etc中它正处于源代码管理中)。系统有自己需要的文件副本。

如果您尝试手动放置文件,则会被咬伤。它可能会起作用,但话说再说一次,它可能不会(并且它可能在未来发生变化)。我不会玩使用kosher命令之外的其他风险来存储crontab文件以供crontab使用。

答案 1 :(得分:3)

是的,cron文件必须位于/ var / spool / cron(或某些类似的目录,具体取决于系统。)请参阅man 8 cron

答案 2 :(得分:1)

如果您对大多数系统使用cron api(crontab -ecrontab filename),无论您是否注销,您的cron作业都将永久保存在适当的位置。

这种情况不会发生的唯一方法是,如果您在行政上被阻止使用cron(并非罕见)。

请记住,您创建的文件格式为man 5 crontab格式。它不是你的shell脚本。