一.cron任務的自啟動相關命令
1.檢測cron定時服務是否自啟用
systemctl is-enabled crond.service
結果展示如下:
enable表示已啟用自啟動 disable標識未啟用自啟動
2.如果未啟用,則開啟cron自啟用
systemctl enable crond.service
3.如果已經啟用,想要cron關閉自啟動
systemctl disable crond.service
二.cron服務是否啟動相關命令【區別於自啟動】
1.查看cron服務的啟動狀態
[只有cron的狀態是active running的,才表示cron服務是啟動的]
systemctl status crond.service
2.啟動cron服務[命令沒有提示]
systemctl start crond.service
3.停止cron服務[命令沒有提示]
systemctl stop crond.service
4.重啟cron服務[命令沒有提示]
systemctl restart crond.service
5.重新加載cron服務[命令沒有提示]
systemctl reload crond.service
三.操作定時任務
1.定時任務的編輯
crontab -e
編輯內容和centos6 一樣。表示每天7.30 執行 /mnt/apps/tomcat/tomcat.sh 路徑下的腳本
30 07 * * * /mnt/apps/tomcat/tomcat.sh
如果在上面,已經把定時任務cron啟動了,編輯定時任務后,會有提示
2.查看已編輯的定時任務
crontab -l
3.刪除已編輯的所有定時任務
crontab -r
四.查看定時任務的執行日志
1.查看cron執行日志
tail -f -n 200 /var/log/cron
五.最后總結
如上述命令,整個cron操作步驟如下
1>編輯了.sh腳本,並保存,記錄.sh文件所在路徑【一定確保.sh腳本可用,可以嘗試在編輯完成.sh文件后,直接./tomcat.sh 執行腳本文件,查看是否可以正常執行】
2>查看並設置cron為自啟動
3>查看並啟動cron服務,使狀態為running
4>編輯並查看cron服務,注意路徑和定時格式,確保cron服務編輯成功
5>最后在編輯完成cron服務后,重新加載或重啟cron服務,確保cron服務狀態是running的
6>最后可以通過查看cron執行日志,確保cron是否執行
7>如果cron任務不執行,確保linux服務器系統 時間 和時區 是否正常
六.cron任務不執行,問題排查
如上,已經確保 第五點中所有 步驟都正確執行了。但是cron定時任務一直沒有執行。
我這里出現的原因,是因為服務器的時區設置不正確。
正確的時區應該是
CST
如果你的時區是
UTC
或者其他,就導致時間和時區不正確。
我設置的定時任務是17.05執行,結果等到了17.05,定時任務不執行,因為此刻的系統時間是05.05
解決方法:
https://www.cnblogs.com/sxdcgaq8080/p/11155232.html
定時啟動開啟后,無效解決方案:
https://blog.csdn.net/zxc_user/article/details/82634370