【发布时间】:2011-04-17 00:35:33
【问题描述】:
我不认为这与其他问题完全相同,但如果已经回答,请随时向我指出。
我正在寻找一种方法,让 cron 作业仅在它尚未运行时才开始运行。例如,如果一个作业每 15 分钟运行一次,但偶尔需要一个小时才能运行一次,我不希望重复的进程启动并与原始作业的工作重叠。
在其他问题中,其他人谈到了制作一个 pid 文件来阻止工作启动重复项(或类似策略),但我的情况有点不同。我有多台运行 cron 作业的机器,我希望它们中的任何一台上都有一个当前正在运行的进程,以阻止该作业的新实例启动。所以一个 pid 文件是不够的,因为它是一台机器的本地文件。
处理这种情况的最佳方法是什么?
【问题讨论】: