您好,登錄后才能下訂單哦!
小編給大家分享一下crontab如何實現每隔多少天執行一次腳本,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
前言
我們大家在工作中,經常會碰到每隔多少天/小時/分鐘執行一次腳本,或某個命令的情況。如果是每隔多少小時,多少分運行一次程序,在crontab中可能比較好實現一些,下面是一些示例及crontab的格式說明:
具體示例:
# 下午6點到早上6點,每隔15分鐘執行一次腳本 0,15,30,45 18-06 * * * /bin/bash $HOME/script.sh > /dev/null 2>&1 # 每兩小時,重啟一次服務 * */2 * * * /etc/init.d/apache2 restart
下面是每隔多少分鐘,每隔多少小時,每天/每周/每月/每年的crontab的歸納總結
每五分鐘執行 */5 * * * *
每五小時執行 0 */5 * * *
每天執行 0 0 * * *
每周執行 0 0 * * 0
每月執行 0 0 1 * *
每年執行 0 0 1 1 *
如果說是每個月的每隔10天來執行某個腳本的話,同樣可以寫成:
# 每個月的1號,11號,21號,31號,執行HTTP服務重啟 0 0 */10 * * /etc/init.d/apache2 restart
但如果是按自然天數,比如說每27天,執行一次腳本,這個要如何實現呢? 如果是這種情況,顯然不能通過crontab直接實現,必須迂回實現。
下面是能想到的兩種方法。
【方法一】通過腳本控制時間來實現
思路:
1) 在腳本running.sh中設置要執行的次數,這里假如10次,每次間隔27天,script.sh為要執行的腳本
2) 然后執行nohup bash running.sh
&將其放置在后臺讓其自動執行
【方法二】通過crontab間接實現
思路:
1) 每天定時執行running.sh腳本,再在腳本running.sh里面判斷,當間隔時間滿足條件時
2) 執行script.sh腳本,同時修改上次執行時間,以便于下次執行
看完了這篇文章,相信你對“crontab如何實現每隔多少天執行一次腳本”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。