用于停止Cron作业重叠的代码

Rag*_*ghu 2 cron

我需要停止cron作业的重叠,例如:如果一个cron作业安排在早上2点钟进行数据库备份,其他cron作业安排在早上7点再次进行数据库备份.所以我需要停止7 o如果2个时钟的数据库备份未完成,则计时的cron作业.

小智 6

这就是flock的用途.来自man flock:

...
The  third form is convenient inside shell scripts, and is usually used
       the following manner:

       (
         flock -n 9 || exit 1
         # ... commands executed under lock ...
       ) 9>/var/lock/mylockfile
...
Run Code Online (Sandbox Code Playgroud)

在这种情况下,flock会尝试锁定fd 9 /var/lock/myfile.如果它不能(因为早期作业仍在运行),它将退出.

你需要把它放在一个脚本中.