【问题标题】:Cron periodically for different scripts定期针对不同的脚本进行 Cron
【发布时间】:2015-08-18 16:01:47
【问题描述】:

我想每半小时运行几个脚本。这显然适用于这一行

*/30 * * * * script.sh

我现在的问题是如何在不同时间运行其中的几个。如,script.sh 在 script2.sh 之前 5 分钟运行,然后是 script3.sh 之前 5 分钟。如果这不可能,任何确保它们不会在 5 分钟内彼此执行的方法就足够了。

我确实看到了使用脚本或其他编程方式执行此操作的解决方案。如果 cron 不能用于这项工作,那么我正在寻找“不可能”作为答案。

【问题讨论】:

  • */30 * * * * script1.sh*/35 * * * * script2.sh*/40 * * * * script3.sh?
  • 这不会同样频繁地执行它们。每个应该每 30 分钟运行一次。它也不能保证它们不会同时运行。

标签: crontab


【解决方案1】:

*/30 等价于0,30。如果您使用后一种语法,您可以简单地将5,35 用于另一个作业以抵消第一个作业。

例如,你可以做三份工作:

 0,30 * * * * script1.sh
 5,35 * * * * script2.sh
10,40 * * * * script3.sh

请注意,如果 script1.sh 的运行时间超过 5 分钟,script1.shscript2.sh 之间仍然会有重叠。如果你真的必须避免这种情况,你可能应该考虑锁定文件(使用例如flock)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-22
    • 2019-10-30
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    相关资源
    最近更新 更多