crontab工作依赖防止竞争

我想每5分钟运行一次cron,但是如果以前没有完成,我不希望下一个cron运行。

关于这个还能做什么? 有什么工具可以支持吗?

谢谢

使用羊群 。

flock -n /path/to/lockfile -c "command_you_want_to_run" 

您可以使用run-one命令。 它会自动为正在运行的命令创build一个locking文件。

 run-one rsync -a mirror.kernel.org::everything /my/hd 

行为类似于群,但语法更清晰。 缺点是你可能需要安装命令才能使用它。 另外,修改命令行时要特别注意,当命令行改变时,锁文件名也是如此

Cron不支持任何types的工作依赖。 您在此处input的条目在指定时运行。

你将不得不采取一些简单的联锁scheme。 将给定的命令或一组命令放在包含lockingscheme的包装脚本中。

或者,如大型网站所做的那样,安装一些types的作业调度应用程序并使用它来运行具有条件的应用程序。