我有一个 rsync 的 cronjob,它每 2 分钟运行一次,但有时需要超过 2 分钟。为此,我编写了一个简单的锁定系统,该系统检查如果找不到文件则写入锁定文件,采取行动并删除该锁定文件。
现在,如果脚本由于某种原因崩溃或被杀死,则锁定文件将持续存在并导致问题。
确保 cron 任务在某个时候再次运行的好方法是什么?我曾想过检查锁文件的年龄并在超过一定时期后将其删除,但我认为应该有更好更优雅的解决方案。
编辑:
我现在已经实现了flock。我对为什么文件似乎总是存在感到有些困惑,但我发现这个页面通过将 pid 存储在文件信息中来解释它是如何工作的:
http://mattiasgeniar.be/2012/07/24/prevent-cronjobs-from-overlapping-in-linux/
归档时间: |
|
查看次数: |
157 次 |
最近记录: |