1. 程式人生 > >Linux定時任務服務crond

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寫入當前時間

image.png

image.png

image.png


crontab -e 編輯定時任務配置檔案 相當於 vim /var/spool/cron/root(使用者名稱)

crontab -l 檢視定時任務 相當於 cat /var/spool/cron/root

image.png