![Cronjob 陷入重启循环](https://linux22.com/image/1626475/Cronjob%20%E9%99%B7%E5%85%A5%E9%87%8D%E5%90%AF%E5%BE%AA%E7%8E%AF.png)
我在我的计算机上添加了一个相当简单的 cronjob,以便在每天的指定时间(本例中为 06:30)执行重启。
30 6 * * * reboot
我可能完全误解了这里的某些内容,但我遇到的问题是,这导致我的机器不断重启,直到下一个整整一小时(在这种情况下为 30 分钟,因此在 7 点时它会停止)。
举第二个例子:如果我添加以下 cronjob,重启循环将持续一个小时(从 6 点到 7 点)。
0 6 * * * reboot
我是不是漏掉了什么?这可能是什么原因造成的?
答案1
我找到了问题的答案。我运行 cronjobs 的设备没有实时时钟。这导致了重启循环。
一个解决方案是使用延迟并在重启之前触摸 /etc 中的文件。在没有实时时钟的系统上,一个可行的示例可能如下所示:
00 6 * * * sleep 70 && touch /etc/banner && reboot
有关这方面的更多信息,您可以查看:https://oldwiki.archive.openwrt.org/doc/howto/cron#periodic_reboot_of_a_router
答案2
我认为您的皇冠入口本身没有问题 - 更可能是您的系统受到时钟漂移的影响,从而导致了奇怪的异常效应。
要么就是您正在使用一个非常非标准的 cron 版本,要么这是由不同的工作引起的......