从crontab的手册页.
string meaning
------ -------
@daily Run once a day, "0 0 * * *".
@midnight (same as @daily)
Run Code Online (Sandbox Code Playgroud)
如果系统总是在午夜关闭,那么@daily永远不会被执行?指定我想每天运行一次这个工作的正确方法是什么,但我不关心它何时在一天内执行?
该作业可能会运行,但可能不会完成。cron 是通过守护进程实现的,因此它始终在运行。根据系统的关闭顺序,cron 实际上可能会在关闭过程中相当晚的时候收到关闭信号,因此安排在关闭开始时的作业可能仍然会运行。
例如,如果关机恰好在 00:00:00 开始,但直到 00:00:05(午夜后 5 秒)才向 cron 发送终止信号(,那么短时间运行的 2 秒作业可能仍有时间完全的。
但是,如果该作业所依赖的任何服务已经关闭或正在关闭,那么它就不太可能完成。例如...脚本对 mysql 服务器执行 ping 操作以获取一小部分数据...但是 mysql 在 00:00:01 关闭,并且您的脚本直到 00:00:02 才到达 mysql 部分。
tl;dr:这是一个竞争条件,你的工作可能会执行,但也可能不会。
| 归档时间: |
|
| 查看次数: |
2702 次 |
| 最近记录: |