crontab的定時表達式

如下所示,一般crontab文件裏面的定時任務格式如下所示:

59 23 * * * /home/oracle/scripts/alert_log_archive.sh >/dev/null 2>&1

crontab 文件中每個條目中各個域的意義和格式:

第一列 分鐘: 1——59

第二列 小時: 1——23(0表示子夜)

第三列 日 : 1——31

第四列 月 : 1——12

第五列 星期: 星期0——6(0表示星期天,1表示星期一、以此類推)

第六列 要運行的命令

我們暫且用C1、C2、C3、C4、C5、C6代表這六列,前面五列通過組合方式來決定執行腳本的頻率,最小頻率爲每分鐘執行一次,其中Cn可以用 * ; */n ; T1-T2; a,b,c; 四種形式來表示:

當 C1 爲 * 時表示每分鐘都要執行腳本,C2 爲 * 時表示每小時都要執行程式,依次類推.....

當 C1 爲 T1-T2 時表示從第 T1 分鐘到第 T2 分鐘這段時間內要執行,C2 爲 T1-T2 時表示從第 T1 到第 T2 小時都要執行,依次類推....

當 C1 爲 */n 時表示每 n 分鐘的時間間隔執行一次,C2 爲 */n 表示每隔n小時的間隔執行一次,依次類推.....

當 C1 爲 a, b, c,... 時表示第 a, b, c,... 分鐘要執行,C2 爲 a, b, c,... 時表示第 a, b, c...個小時要執行,依次類推....

下面列舉幾個例子供大家參考

59 23 * * * /home/oracle/scripts/alert_log_archive.sh >/dev/null 2>&1

表示每天23點59分執行腳本/home/oracle/scripts/alert_log_archive.sh

*/5 * * * * /home/oracle/scripts/monitoring_alert_log.sh >/dev/null 2>&1

表示每5分鐘執行一次腳本/home/oracle/scripts/monitoring_alert_log.sh

0 20 * * 1-5 mail -s "**********" [email protected] < /tmp/maildata

週一到週五每天下午 20:00 寄一封信給 [email protected]

#每晚的21:30重啓apache。

30 21 * * * /usr/local/etc/rc.d/lighttpd restart

#每月1、10、22日

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart

#每天早上6點10分

10 6 * * * date

#每兩個小時

0 */2 * * * date

#晚上11點到早上8點之間每兩個小時,早上8點

0 23-7/2,8 * * * date

#每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點

0 11 4 * mon-wed date

#1月份日早上4點

0 4 1 jan * date 

#週一到週五早上9點到晚上9點每小時發一次
0 9-21/1 * * 1-5  /home/dev2/ljz/correct_task_warn_ding.sh

#週六週日早上10點到晚上10點每兩小時發一次
0 10-22/2 * * 6,0  /home/dev2/ljz/correct_task_warn_ding.sh

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章