本節介紹cron和crontab。
cron是一個系統進程,在UNIX的多用戶模式下執行。它使某程序在一特定的時間被執行。cron會按照crontabs文件所指定的時間執行命令,crontabs文件內容舉例如下:
#min hour day month day_of_week command
#0-59 0-23 1-31 1-12 0-6(Sunday=0)
#-----------------------------------------------------------
30 0 * * * /usr/abc/rj
0 7 * 1,3-6,8-12 1-5 /usr/abc/makfile
crontabs文件由若干行組成,每行表示一個事件。每行由若干字段組成,字段間用空格分開。每行中字段名依次為:分、時、日、月、星期、要執行的命令。每個字段取值舉例:
各字段取值舉例
說明
*
表示任何時間
1,3,4
表示離散數字
1-5
表示從1到5
1-3,5
表示從1到3,還有5
上例crontabs文件中的:
30 0 * * * /usr/abc/rj
一行,表示在每天的午夜0:30啟動/usr/abc/rj文件運行,而如下一行:
0 7 * 1,3-6,8-12 1-5 /usr/abc/makfile
表示每當3至6月和8至1月的周1到周五,啟動/usr/abc/makfile文件運行。
crontabs文件是不能直接通過編輯命令修改的。要對crontabs文件進行操作可使用crontab命令。crontab命令的幾種格式舉例如下:
crontab命令舉例
說明
crontab
刪除crontabs原內容,並通過鍵盤輸入新內容
crontab myfile
將myfile的內容取代crontabs原內容
crontab -r
刪除現有的crontabs文件
crontab -l
顯示現有的crontabs文件內容
[例1] 在原crontabs內容的基礎上增加如下事件:每月1日凌晨3時啟動/usr/abc/stat文件運行。
做法如下:
(1) 運行 crontab -l > tmp
(2) 對tmp文件進行編輯,追加下面一行:
0 3 1 * * /usr/abc/stat