如何推迟接下来几个小时的cron执行

时间:2014-06-11 08:14:45

标签: ubuntu cron crontab cron-task

我必须每天重启我的系统,因为我创建了一个脚本文件。在该脚本文件中,我添加了条件,如果正在进行下载或上传,则跳过重新启动。

这是我的脚本文件

#!/bin/bash

if [ "$Upload" ]; then
    echo itsme | sudo -S shutdown -r now
fi

为了执行这个脚本文件,我写了一个cron作为

0 12 * * * ${HOME}/reboot-me.sh

现在我必须添加功能,因为下载或上传正在进行,然后推迟重启1小时或延迟1小时。

那么我该如何推迟这份工作?

修改 我编辑了我的病情是这项工作吗?

if [ "$Upload" ]; then
        echo itsme | sudo -S shutdown -r now
else
        sleep 3600
        if [ "$Upload" ]; then
           echo itsme | sudo -S shutdown -r now
        else
           echo "uploading....."
        fi
fi

1 个答案:

答案 0 :(得分:0)

让你的cronjob每小时运行一次并检查是否需要重启:

  • 过去12点'时钟?
  • 今天已经重启了吗?
  • 运行的东西应该推迟重启?

通过这3点,您应该能够决定是否可以重新启动机器。