我们有一台执行 cron 作业的机器。我们想上传(通过 scp)cron 作业文件。以下是 cron 作业文件 (test.cron) 的示例:
* * * * * echo "test" > /tmp/test_cron
如果您使用crontab -e
然后保存,它将运行,然后最终导致/var/spool/cron/crontabs/$USER
我们不能再使用它(公司政策)。
如果我将此文件test.cron
放在/etc/cron.d
它不会运行。我是否需要更改此文件语法或将此文件放在其他地方以便 cron 守护进程拾取并运行它?
更新:
当我将内容粘贴test.cron
进去时crontab -e
,它就会执行。我的 crontab 语法似乎有效。
我的问题是:我需要将test.cron
包含上述内容的文件放在哪里,以便 cron 守护进程获取它?
更多背景信息:我事先不知道需要以什么间隔运行 cron 文件命令。这些可能都不是好地方“cron.daily/ cron.hourly/ cron.monthly/ cron.weekly/”我可能错了,这就是我问这个问题的原因。
答案1
/etc/cron.d
是 crond 的一个功能,可能需要明确启用。它在基于 Debian 的发行版上默认启用。因此,/etc/cron.d
当您使用 Debian 衍生产品时,这是正确的位置。
Debian 上的 cron 手册页说:
[/etc/crond.d] 中的文件必须遵循与 run-parts(8) 相同的命名约定:它们必须仅由大写和小写字母、数字、下划线和连字符组成。这意味着它们不能包含任何点。
因此,您必须将您的重命名test.cron
为例如,test_cron
然后它就可以开始工作了。