Linux定時任務服務crond
Linux定時任務的分類
1、系統自身定期執行的任務
如定期以日期命名的message開頭的檔案
[[email protected] ~]# ll /var/log/messages*
-rw-------. 1 root root 89790 Nov 4 13:44 /var/log/messages
-rw-------. 1 root root 276929 Sep 29 02:03 /var/log/messages-20180929
-rw-------. 1 root root 90570 Oct 20 11:52 /var/log/messages-20181020
-rw-------. 1 root root 269326 Oct 22 00:34 /var/log/messages-20181022
-rw-------. 1 root root 451941 Nov 3 12:24 /var/log/messages-20181103
2、使用者執行的定時任務
crond是一個定時任務守護程序
crontab設定定時任務規則命令
crontab -e 編輯定時任務配置檔案
crontab -l 檢視定時任務
cat /etc/crontab 檢視定時任務的配置說明
# Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed # 分 時 日 月 周
每一分鐘執行一次指令碼/server/scripts/test.sh
*/1 * * * * /bin/sh /server/scripts/test.sh
每天的17到19點的半點執行一次指令碼
30 17-19 * * * /bin/sh /server/scripts/test.sh
同上
30 17,18,19 * * * /bin/sh /server/scripts/test.sh
每5分鐘執行一次指令碼
*/5 * * * * /bin/sh /server/scripts/test.sh
每天凌晨3:30和12:30執行一次指令碼
30 3,12 * * * /bin/sh /server/scripts/test.sh
每隔16小時的半點執行一次指令碼
30 */16 * * * /bin/sh /server/scripts/test.sh
每天8點到18點的半點 每隔2個小時執行一次指令碼
30 8-18/2 * * * /bin/sh /server/scripts/test.sh
每天21:30執行一次指令碼
30 21 * * * /bin/sh /server/scripts/test.sh
每天18點到23點的整點和半點執行一次指令碼
0,30 18-23 * * * /bin/sh /server/scripts/test.sh
* 任意時刻
/n 每隔單位時間執行一次
,分割時段
- 時間段範圍
例如:每隔一分鐘向/tmp/b.txt寫入當前時間
crontab -e 編輯定時任務配置檔案 相當於 vim /var/spool/cron/root(使用者名稱)
crontab -l 檢視定時任務 相當於 cat /var/spool/cron/root