Ubuntu 如何将cron执行推迟几个小时
我必须每天重新启动我的系统,为此我创建了一个脚本文件。在该脚本文件中,我添加了一个条件,即如果正在下载或上载,则跳过重新启动 这是我的脚本文件Ubuntu 如何将cron执行推迟几个小时,ubuntu,cron,crontab,cron-task,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
#!/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
让您的cronjob每小时运行一次,并检查是否需要重新启动:
- 12点过
- 今天已经重启了吗
- 应该推迟重启的正在运行的东西
有了这三点,您应该能够决定是否可以重新启动计算机。关于
sleep 3600
?一个简单的问题,我每天执行一次脚本如果我在脚本中添加sleep 3600,我是否必须再次运行该脚本,或者它将在1小时后继续。它应该在1小时后继续。请注意,sleep
就像一个“暂停”,一旦时间结束,它就会继续执行。@fedorqui我已经编辑了我的条件,这是否有效?是的,它应该有效。注意,这将延迟一次,然后重新启动;如果在一小时后再次上传,则不会重新启动。如果你真的想在上传后重新启动,任何时候,你可以考虑使用<代码>而真实;做已完成,内部有条件。