2014-06-11 68 views
0

我必須每天重新啓動我的系統爲此,我創建了一個腳本文件。在那個腳本文件中,我添加了一個條件,即如果下載或上傳正在進行,則跳過該重新啓動。如何推遲接下來的幾個小時的cron執行

這裏是我的腳本文件

#!/bin/bash 

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

和執行我寫了一個cron作業這個腳本文件作爲

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

現在我要補充的功能是下載或上傳是怎麼回事然後推遲下一小時的重新啓動或延遲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

「睡眠3600」呢? – fedorqui

+0

一個簡單的問題,如果我在腳本中添加睡眠3600,我一次執行一次腳本,我不得不再次運行該腳本,否則它將在1小時後繼續運行。 – user2622247

+0

它應該在1小時後繼續。請注意,「睡眠」就像是一個「暫停」,一旦時間結束,它就會恢復執行。 – fedorqui

回答

0

讓你的cronjob運行每隔一小時,檢查其時間重啓:

  • 過去12點?
  • 今天已經重新啓動?
  • 運行的東西應該推遲重啓?

有了這3點,您應該能夠決定是否可以重新啓動機器。