cronjob 何时真正开始?

cronjob 何时真正开始?

我的问题来自我在看到每分钟的 cronjob 像这样运行时所做的观察:

12:00:15 (cron started)
12:01:20 (cron started)
12:02:02 (cron started)
.
.
.

看起来 cron 并不是每分钟(每 60 秒)运行一次。该 cron 实际上运行一个 php 脚本,该脚本执行一个 mysql 查询来选择和更新数据库。不到 2 秒即可完成。

为每分钟安排的 cronjob 应该在该分钟的开始(12:00:00)运行,还是会在该分钟的任何其他特定秒运行?

系统负载与此有关系吗?有什么方法可以确保 cron 从一分钟开始就启动吗?

答案1

你所观察到的情况一点也不令我感到惊讶,cron它并不精确到秒。您可以相信*它会在您编程运行的那一分钟内运行作业,但您不应该真正依赖更高的精度。

如果您需要在精确的时刻开始工作,则应该提前启动它,并在脚本中等待该时刻的到来。由于 1 分钟是 所支持的最小间隔cron,我会考虑不同的选项来启动它(例如 Python 脚本)。

(*) 请参阅下面的评论

相关内容