如果服务器关闭,crontab 会做什么?

如果服务器关闭,crontab 会做什么?

假设我有一个像这样的 crontab:

*/30 * * * * /root/scripts/remove_log_files.sh

这将每隔 30 分钟删除一些我不需要的日志。

如果服务器在 25 分钟后关闭,而 crontab 被激活并在 10 分钟后重新启动,会发生什么情况?

更新:根据一些搜索,该职位不会被解雇。但该作业会再延迟 30 分钟还是 25 分钟才能执行呢?

无法找到一些在线讨论此问题的资源。大多数讨论是关于如何使用 crontab 关闭机器。

谢谢

答案1

传统方法cron每分钟检查当前时间是否与其中的时间模式之一匹配,crontab并执行每个匹配的行。根本不存在“错过的作业”或“即将运行的作业”的概念。图案

*/30 * * * *

匹配分钟可被 30 整除的时间戳(即 0 和 30)。

如果您想要“每 25 分钟系统正常运行时间运行一次”之类的内容,您需要更现代的cron实现。
其中之一是fcron,它添加了许多额外的方法来描述何时运行作业,包括非常有用的“不要同时运行其中两个作业”,这是传统方法cron无法做到的。

相关内容