将文件包含到 crontab 配置中吗?

将文件包含到 crontab 配置中吗?

我正在尝试将项目特定的 crontab 配置放入代码存储库,以便在部署时轻松更新所有后端上的 cron 作业。

是否可以将文件包含到 crontab 配置中?例如

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

答案1

根据您的 cron 守护程序和发行版,/etc 中应该有几个目录,您可以在其中放置包含 cron 作业的文件。

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

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

放置在以下目录中的 cron 格式的作业(如上面的示例)将在指定时间由 cron 执行。请注意,除了常规条目外,还需要在命令前指定作业的用户。对于软件包和软件分发版,此方法是分发 cron 作业的最佳方式:

/etc/cron.d

cron.d 格式的命令示例:

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

答案2

据我所知不是;那才是/etc/cron.d目的。

正如 Boscoe 所指出的,还有/etc/cron.{hourly,daily,weekly,monthly}目录,但其中的作业只能以 root 身份运行(除非您明确使用/bin/su更改 EUID)。 中的作业/etc/cron.d有一个额外的字段,用于指定它们以哪个用户身份运行,而您的问题包含路径的方式/home/user让我认为您希望这些作业能够以任意用户身份运行。

相关内容