【发布时间】:2014-06-11 16:28:26
【问题描述】:
我必须每天重新启动我的系统,为此我创建了一个脚本文件。在该脚本文件中,我添加了条件,如果正在下载或上传,则跳过重新启动。
这是我的脚本文件
#!/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
【问题讨论】:
-
sleep 3600怎么样? -
一个快速的问题,如果我在脚本中添加 sleep 3600,我每天执行一次脚本,我是否必须再次运行该脚本,否则它将在 1 小时后继续运行。
-
它应该在 1 小时后继续。请注意,
sleep就像一个“暂停”,一旦时间结束,它就会恢复执行。 -
@fedorqui 我已经编辑了我的条件是这个工作吗?
-
是的,它应该可以工作。请注意,这将推迟一次然后重新启动;如果它在一小时后再次上传,它不会重新启动。如果您真的想在上传后重新启动,任何时候,您都可以考虑使用带有条件的
while true; do ... done。
标签: ubuntu cron crontab cron-task