【问题标题】:Crontab in order after completedcrontab 按顺序完成后
【发布时间】:2021-02-06 16:58:26
【问题描述】:

是否可以让 crontab 在执行后运行。我读到 cron 作业从顶部开始,但并行运行,不等待一个完成。 我有什么办法可以这样做吗? 例如,假设我有 3 个 cron 作业。

  • */5 * * * * job1
  • */5 * * * * job2
  • */5 * * * * job3

我希望job2在job1完成后运行,job3在job2完成后运行。

【问题讨论】:

    标签: cron crontab


    【解决方案1】:

    您可以在单个 crontab 条目中包含多个命令:

    */5 * * * * job1 ; job2 ; job3
    

    【讨论】:

    • 谢谢吉姆,这是否意味着在上一个工作完成后才能开始工作?
    • 是的,它们会按照您的要求按顺序运行。
    【解决方案2】:

    如果您想在 /etc 中使用全局 crontab,它会更简单。 主要的 crontab 文件是 /etc/crontab。它包含这种类型的指令:

    25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
    

    所以 Linux 使用 run-parts; run-parts 按字母顺序启动命令,因此只需在脚本中添加数字,如下所示:

    • 01_MyFisrtScrip
    • 02_MySecondScript
    • ...

    等等...请避免使用点或其他不合法的字符:

    • 错误名称 = 01_myscript.sh
    • 好名字 = 01_myscript

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-02
      • 1970-01-01
      • 1970-01-01
      • 2019-06-24
      • 1970-01-01
      相关资源
      最近更新 更多