Bash 保存Crontab文件

Bash 保存Crontab文件,bash,unix,cron,Bash,Unix,Cron,关于Crontab的一个简单问题是,在哪里保存Crontab文件重要吗?(使用crontab-e创建依赖于时间的作业)或者可以从任何目录读取它们 我这样问是因为我的crontab文件似乎被删除了,因为当我使用crontab-l时,它没有返回任何内容。但是,我认为这是因为我将其保存为临时文件:是的,cron文件必须位于/var/spool/cron(或一些类似的目录,取决于系统)中。请参阅。如果您使用cron api(crontab-e或crontab filename对于大多数系统),您的cro

关于Crontab的一个简单问题是,在哪里保存Crontab文件重要吗?(使用crontab-e创建依赖于时间的作业)或者可以从任何目录读取它们

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

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

如果您使用cron api(
crontab-e
crontab filename
对于大多数系统),您的cron作业将永久保存在适当的位置,不管你是否注销

唯一不会发生这种情况的方法是,在管理上阻止您使用cron(这并不少见)


请记住,您正在创建的文件的格式是
man5crontab
格式。这不是您的shell脚本。

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

$ crontab < $HOME/etc/crontab
我将原件保存在何处并不重要(但它实际上是在
$HOME/etc
中的源代码控制下)。系统在需要的地方有自己的文件副本


如果你试图手动放置文件,你会被咬。它可能会起作用,但也可能不会(将来可能会改变)。我不会玩一个危险的游戏,使用除洁食命令以外的其他命令来存储crontab文件供
crontab

使用,但很可能,您应该将它们放在
/etc
@larsmans:the/etc/cron.{每日、每小时、每周、每月}/*文件不是标准的cron文件/etc/cron.d/*文件是标准的cron文件,但设计用于包管理器,而不是人类。人类应该使用cron API,它会将文件放在您特定系统的任何地方。@Seth:是的,但是如果
/etc/cron.{每日、每小时、每周、每月}
可用,他们会优先选择直接写入
/var/spool/cron
。为什么以及如何将其保存为临时文件?您应该调用
crontab-e
,不必担心它保存在哪里-我猜它通常保存在/var/spool/cron/crontab下-至少在ubunt上是这样。通过编辑现有的crontab,键入crontab-e并进行修改。然后单击escape键并键入:wq,然后单击enter键。
$ 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
$