【问题标题】:How to write bash script that autoruns every 10 min?如何编写每 10 分钟自动运行一次的 bash 脚本?
【发布时间】:2014-03-27 10:54:58
【问题描述】:

我一直在做一个项目,我不希望它被系统崩溃。

所以我写了一个脚本来备份我的整个项目目录到 Dropbox。

但如果我记得这样做的话,我必须每 10 分钟运行一次。

问题:有什么方法可以自动启动?

【问题讨论】:

  • 只需使用cron每10分钟运行一次
  • 你试过cron作业吗?
  • 看看here
  • cron 的建议都很好,但为什么不在与 Dropbox 同步的目录中工作呢? dropbox.com/help/4/en
  • 我觉得自己很愚蠢,甚至不知道 crontab 这么棒的工具。谢谢大家。

标签: bash cron


【解决方案1】:

键入以下命令进入cronjob:

$ crontab -e

要让 crontab 每 10 分钟运行一次任务,您可以输入以下内容:

*/10 * * * * /path_to_script

请参阅附加阅读:

Wikipedia

cron-every-5-minutes

cron job every 5 minutes starting from a specific time

【讨论】:

    【解决方案2】:

    试试这个解决方案:

    cat cronjob
    */10 * * * * sh /path/to/scipt.sh
    

    然后:

    chmod +x /path/to/scipt.sh
    chmod +x cronjob    
    /etc/init.d/crond start  #redhat based servers like centos
    /etc/init.d/cron  start  #debian based servers like ubuntu
    
    crontab cronjob
    

    【讨论】:

      【解决方案3】:

      正如其他人所建议的,显而易见的解决方案是通过 crontab。这是另一种解决方案,只需在备份脚本中添加一行。

      如果您的系统已安装并启用“at”套件,请参阅:

      您可以简单地将备份脚本中的“下一个运行时间”排入队列。因此,例如,如果您的备份脚本名为 /home/joe/bin/copy_to_dropbox,请在脚本末尾添加下一行:

      af -f /home/joe/bin/copy_to_dropbox now +10 minute
      

      第一次手动运行备份脚本。

      第一次备份后,脚本中的at 命令将自己排队等待下一次执行。

      您可以使用“atq”命令检查at queue

      【讨论】:

      • 非常详细的答案,感谢:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-10
      • 2011-01-04
      • 1970-01-01
      • 2023-04-04
      • 2023-03-16
      • 2010-12-04
      • 2018-06-17
      相关资源
      最近更新 更多