我做了一个非最佳实践,/etc/crontab
并手动将其更改为在特定时间运行每日 cron 作业,最初是为了测试,这样我就可以确保它正确启动。
/etc/crontab
看起来像这样:
42 18 * * * root /etc/cron.daily/cronjob1
-*/15 * * * * root {built-in out-of-the-box crontab entry}
当我确信作业按预期运行时,我从中删除了该条目/etc/crontab
,重新启动了 crond,并使用“ crontab -e
”以 root 身份添加了一个新的 crontab
00 00 * * * /bin/sh /etc/cron.customjobs/cronjob1
“新的” /etc/crontab
:
-*/15 * * * * root {built-in out-of-the-box crontab entry}
自从进行此更改以来,该作业每天在 1842 和午夜运行。从那时起,系统甚至至少重新启动了两次,但作业仍然在旧时间运行。我不确定为什么 1842 的开始时间会卡在系统中的某个地方,我快要疯了,试图追踪这一点。SLES15,如果有帮助的话
我尝试查看/var/spool/cron/tabs
,但只列出了我手动创建的那个crontab -e
。我不确定还有什么应该保存不再在 crontab 中的计时器。
答案1
通常有一个默认的 cron 条目(可能在 / 中找到,etc/cron.d/
或者当不在时由 anacron 提供/etc/crontab
)来运行在目录中找到的所有脚本/可执行文件/etc/cron.daily
。
这通常是将要执行的作业规范:
/etc/cron.daily/cronjob1
ˆˆˆˆˆ
你的 root crontab 运行一个不同的脚本:
/etc/cron.customjobs/cronjob1
ˆˆˆˆˆˆˆˆˆˆ
这就是为什么 cronjob1 运行两次的原因