前言
我們大家在工作中,經(jīng)常會碰到每隔多少天/小時/分鐘執(zhí)行一次腳本,或某個命令的情況。如果是每隔多少小時,多少分運行一次程序,在crontab中可能比較好實現(xiàn)一些,下面是一些示例及crontab的格式說明:
具體示例:
# 下午6點到早上6點,每隔15分鐘執(zhí)行一次腳本0,15,30,45 18-06 * * * /bin/bash $HOME/script.sh > /dev/null 2>&1# 每兩小時,重啟一次服務(wù)* */2 * * * /etc/init.d/apache2 restart
下面是每隔多少分鐘,每隔多少小時,每天/每周/每月/每年的crontab的歸納總結(jié)
如果說是每個月的每隔10天來執(zhí)行某個腳本的話,同樣可以寫成:
# 每個月的1號,11號,21號,31號,執(zhí)行HTTP服務(wù)重啟0 0 */10 * * /etc/init.d/apache2 restart
但如果是按自然天數(shù),比如說每27天,執(zhí)行一次腳本,這個要如何實現(xiàn)呢? 如果是這種情況,顯然不能通過crontab直接實現(xiàn),必須迂回實現(xiàn)。
下面是能想到的兩種方法。
【方法一】通過腳本控制時間來實現(xiàn)
思路:
1) 在腳本running.sh中設(shè)置要執(zhí)行的次數(shù),這里假如10次,每次間隔27天,script.sh為要執(zhí)行的腳本
2) 然后執(zhí)行nohup bash running.sh
&將其放置在后臺讓其自動執(zhí)行
【方法二】通過crontab間接實現(xiàn)
思路:
1) 每天定時執(zhí)行running.sh腳本,再在腳本running.sh里面判斷,當(dāng)間隔時間滿足條件時
2) 執(zhí)行script.sh腳本,同時修改上次執(zhí)行時間,以便于下次執(zhí)行
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林網(wǎng)的支持。
|
新聞熱點
疑難解答
圖片精選