crontab 定時重啟
問題: 為了簡便或功能需要,可能需要在伺服器上定時執行指令碼完成task。這裡建立完shell指令碼後,使用linux的內建服務執行。
linux伺服器系統為centos7。
原理:
crontab 是linux內建服務,只需要開啟crontab服務後,配置cron任務即可。
基本格式 :
* * * * * command
分 時 日 月 周 | 命令
第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要執行的命令
例子:
20 22 ** * sh /usr/local/start.sh //每天22:20執行指令碼start.sh
40 1 1,2,22 * * sh ./start.sh // 每個月 1,2,22 的 1:40執行指令碼
操作:
1、檢查cron服務是否開啟
$ /sbin/service crond status
此時說明 cron服務已經啟動,佔據pid為3241。
2、如果cron服務未啟動,執行啟動
/sbin/service crond start //啟動
/sbin/service crond stop // 停止
/sbin/service crond restart
/sbin/service crond reload
例如需要重啟:
3、檢視當前使用者的crontab:
$ crontab -l
可以看到當前使用者有一條任務, 1分鐘執行一次指令碼。
4、想要新增或編輯任務
crontab -e
如果不變更,提示如下:
5、刪除crontab:
$ crontab -r
刪除後可以發現,op1使用者不再有定時任務。
測試:
新增crontab如下,每執行一次任務在log插入一條日誌
執行成功。
linux伺服器上使用crontab建立定時任務執行指令碼:https://blog.csdn.net/paradise003/article/details/86598026
CentOS設定系統和Tomcat定時重啟:https://blog.csdn.net/cangshuo1961/article/details/100962288
個人學習筆記,記錄日常學習,便於查閱及加深,僅為方便個人使用。