問題: 為了簡便或功能需要,可能需要在服務器上定時執行腳本完成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
