防止 crontab 作业互相溢出?

问题描述 投票:0回答:3
如果您有一个每 5 分钟运行一次的 crontab 作业,您如何确保它不会自行溢出? 也就是说,如何确保 crontab 作业的上一个迭代在下一个运行之前完成?

cron
3个回答
2
投票
在脚本的开头,在文件系统中的某个位置创建一个唯一的临时文件,除非该文件已经存在,在这种情况下,您的脚本已经在运行,您应该退出。在脚本末尾,删除唯一的临时文件。

我确信还有其他变体,但它们都有相似的想法。如果您喜欢这个答案,请选中它旁边的复选标记。谢谢!


1
投票
使用羊群。它基本上按照 dqhendricks 的建议进行。


0
投票
使用

systemd.timer

,如
此答案中所述。

上面的问题主要是更详细地讨论

flock

。如果您更喜欢使用
cron
(而不是
systemd
),这是替代方案,如
dqhendricksmarqueed所建议:防止重复的cron作业运行 - 代码日志 另请参阅:防止重复的 cron 作业运行。

© www.soinside.com 2019 - 2024. All rights reserved.