关于Crontab的一个简单问题,我保存crontab文件的位置是否重要? (使用crontab -e创建时间相关的作业)还是可以从任何目录中读取它们?
我问,因为我的crontab文件似乎被删除了,因为当我使用crontab -l时它没有返回任何内容。但是,我认为这是因为我将其保存为临时文件:Creating more permanent crontab files
答案 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 -e
或crontab filename
),无论您是否注销,您的cron作业都将永久保存在适当的位置。
这种情况不会发生的唯一方法是,如果您在行政上被阻止使用cron(并非罕见)。
请记住,您创建的文件格式为man 5 crontab
格式。它不是你的shell脚本。