包括文件到crontabconfiguration?

我试图把项目特定的crontabconfiguration到代码库中,以便在部署时轻松更新所有后端上的cron作业。

是否有可能包括文件到crontabconfiguration? 就像是

* * * * * execsomething /blablabla/blah/ * * * * * onemore /blablabla @include '/home/user/project/crontab.conf' 

根据你的cron守护进程和你的发行版,在/ etc中应该有几个目录,你可以把文件作为cron的作业。

放置在以下目录中的脚本(不是cron格式的作业)将以指定的时间间隔执行。 请注意, 频率是保证,但确切的时间可能不会。 对于大多数用户来说这些目录就足够

 /etc/cron.hourly /etc/cron.daily /etc/cron.weekly /etc/cron.monthly 

cron格式的作业(就像你上面的例子一样)放在下面的目录中,cron会在指定的时间执行。 请注意,除了正常的条目之外,还需要在命令之前指定作业的用户。 对于软件包和软件分发,这种方法是分发cronjob的最佳方法:

 /etc/cron.d 

cron.d格式化命令的示例:

 1 1 * * * root echo "serverfault is awesome" > /dev/null 

据我所知, 这就是/etc/cron.d的用途。

正如Boscoe指出的那样,还有/etc/cron.{hourly,daily,weekly,monthly}目录,但是那里的作业只能以root身份运行(除非你明确地使用/bin/su来改变EUID)。 /etc/cron.d中的作业有一个额外的字段,指定他们运行的用户,你的问题包含一个/home/userpath的方式让我觉得你希望这些作业能够以任意用户的身份运行。