如下所示,一般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