【问题标题】:Script repeat itself after X minutes脚本在 X 分钟后重复自身
【发布时间】:2011-12-13 22:33:52
【问题描述】:

我在 Ubuntu 中有一个 bash 脚本,我希望它每 10 分钟运行一次,例如在它完成后。我怎样才能做到这一点?谢谢!

【问题讨论】:

    标签: bash loops


    【解决方案1】:

    您可以查看watch
    the man pages of watch 描述为watch - execute a program periodically, showing output fullscreen,您可以尝试watch -n 600 my_script.sh,它将每600 秒即10 分钟执行myscript.shwatch 将输出显示为全屏,如果您对屏幕输出不感兴趣,可以将其重定向为 /dev/null
    希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      Cronjobs 是您所需要的。

      我的博文:-http://linux-junky.blogspot.com/2010/10/guide-to-add-cronjob-simplified.html

      或者您也可以在脚本中使用 sleep 600

      【讨论】:

      • 好吧,我可以睡觉了,要不睡觉后重新运行脚本?
      • 只使用 cronjobs。 sleepat 循环是您不应该做出的决定。
      【解决方案3】:

      您可以使用at 从脚本中重新安排脚本。在脚本的最后放:

      at now + 10 minutes << END
      "$0" "$@"
      END
      

      【讨论】:

        【解决方案4】:

        或使用 crontab -e 或其他选项来检查日期。例如,如果你想每 10 分钟做一次,你可以这样写:

        if [ $((`date +%M`%10)) -eq 0 ] && [ `date +%S` -lt 10 ]; then
           #your code
        fi
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-30
          • 2021-09-06
          • 2016-03-28
          • 1970-01-01
          相关资源
          最近更新 更多