linux - 为同一任务运行多个 cron 作业

标签 linux cron

我有一个每分钟运行一次的cron 作业。有时,如果 cron 运行超过一分钟,则会实例化另一个 cron 作业来执行相同的任务。因此创建了重复的 cron 作业,这不是我想要的。我想有条件地检查是否正在运行特定任务的 cron,等到 cron job 完成或跳过创建新的 cron job 直到现有 cron 完成。

最佳答案

在某个地方创建一个文本文件来存储一个值。 (例如 0 或 1)当任务执行时,将值更改为 1。在 cron 作业中,添加一个检查,如果文件中的值为 1,则不执行该作业。任务完成后,请记住将值切换回默认值(例如 0)。

您甚至可以在任务开始时创建一个文件,并在任务结束时删除该文件,并且仅在文件不存在时才执行 cron 作业。

您甚至可以将检查放在任务本身中,而不是弄乱您的 cron 表

关于linux - 为同一任务运行多个 cron 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16812080/

相关文章:

paypal - 无需直接登录即可在 paypal 中付款

php - 如何检索推送通知 php 的 ck.pem 文件

linux - Docker 中的“su”命令返回 'must be run from terminal'

linux - 在分布式 jmeter 架构中,我停留在 'Waiting for possible shutdown message on port 4445'

linux - 用参数替换 bash 脚本中的部分命令

json - 如何使用 jq 替换 json 文件中的值并返回整个内容

linux - 从 linux 中的分隔文件中删除一列

java - Cron Job 和 Hybris 中的 Job 的区别

cron - 如何在 CRON 驱动的 DetectDuplicate 中摄取所有流文件?