cron自動排程
crontab命令常見於Unix和類Unix的作業系統之中,用於設定排程執行命令,類似工作排程。
cron服務
指令 |
指令說明 |
service crond start |
啟動服務 |
service crond stop |
關閉服務 |
service crond restart |
重啟服務 |
service crond reload |
重新載入服務 |
corn參數設定
指令參數 |
參數說明 |
crontab -u |
設定的cron服務 |
crontab -l |
列出cron服務的詳細內容 |
crontab -r |
刪除cron服務 |
crontab -e |
編輯cron服務 |
corn時間設定
時間 |
時間範圍 |
分鐘 |
0~59 |
小時 |
0~23 |
日期 |
1~31 |
月份 |
1~12 |
星期 |
0~6(0為星期天) |
,逗號 | 代表多個時間段落,例如3點和6點為3,6 |
*星號 | 代表所有時間 |
-減號 | 代表每個時間段落,例如1點到3點為1-3 |
/斜線 | 代鰾每隔多久,如果每兩個小時要一次,*/2 |
輸入【crontab -e】,舉例
每天早上12點 30 分執行/tmp/test.sh。
30 12 * * * /tmp/test.sh |
每個月1號1點至3點30分
30 1-3 1 * * /tmp/test.sh |
每年的7月7號17點20分執行/tmp/test.sh
20 17 7 7 * /tmp/test.sh |
每個星期天每過30分執行/tmp/test.sh
*/30 * * * 0 /tmp/test.sh |
在 Linux 中,有個程式叫 crond ,意思是 cron daemon,大部分的 Linux 系統都會自動背景啟開這個程式,但是有時候會碰到 cron 沒有啟動的狀態,啟動方式如下:
! sudo service crond start
啟動之後,我會使用 tail -f /var/log/cron
這個指令來檢查 /etc/crontab 中的程式,是否有正確的被執行。
centOS 和 ubuntu 的差別在這個 crontab 變成 crontab 指令。還有「執行帳號」的欄位,centOS 不能輸入,因為是跑在執行的那一個人的排程。