天天看點

crontab筆記

crontab是在unix/linux系統上定時(循環)執行某個任務的程式使用cron服務,cron與crond是一樣的,有的系統不用,名稱不同。

service crond status       檢視cron服務狀态

service crond start          啟動cron服務

crond 是linux用來定期執行程式的指令。當安裝完成作業系統之後,預設便會啟動此任務排程指令。crond指令每分锺會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。而linux任務排程的工作主要分為以下兩類:

1、系統執行的工作:系統周期性所要執行的工作,如備份系統資料、清理緩存。

2、個人執行的工作:某個使用者定期要做的工作,例如每隔10分鐘檢查郵件伺服器是否有新信,這些工作可由每個使用者自行設定。

Crontab是UNIX系統下的定時任務觸發器,其使用者的權限記載在下列兩個檔案中: 

/etc/cron.deny         該檔案中所列的使用者不允許使用Crontab指令     

/etc/cron.allow        該檔案中所列的使用者允許使用Crontab指令 

/var/spool/cron/      是所有使用者的crontab檔案 

Crontab指令的格式為:crontab –l|-r|-e|-i [username],其參數含義如表一:

crontabl –l    顯示使用者的Crontab檔案的内容

crontabl -ri   删除使用者的Crontab檔案前給提示

crontabl -r    從Crontab目錄中删除使用者的Crontab檔案 

crontabl -e    編輯使用者的Crontab檔案

定時任務設定格式:

f1 f2 f3 f4 f5 program 

其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執行的程式。 

當 f1 為 * 時表示每分鐘都要執行 program,f2 為 * 時表示每小時都要執行程式,其餘類推 

當 f1 為 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間内要執行,f2 為 a-b 時表示從第 a 到第 b 小時都要執行,其餘類推 

當 f1 為 */n 時表示每 n 分鐘個時間間隔執行一次,f2 為 */n 表示每 n 小時個時間間隔執行一次,其餘類推 

當 f1 為 a, b, c,... 時表示第 a, b, c,... 分鐘要執行,f2 為 a, b, c,... 時表示第 a, b, c...個小時要執行,其餘類推  

例子:

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

0 17 * * 1-5 mail -s "hi" [email protected]  /dev/null 2>&1 

0 */2 * * * /sbin/service httpd restart  意思是每兩個小時重新開機一次apache 

50 7 * * * /sbin/service sshd start  意思是每天7:50開啟ssh服務 

30 6 */10 * * ls  意思是每月的1、11、21、31日是的6:30執行一次ls指令

本文轉自 00_yatou 51CTO部落格,原文連結:http://blog.51cto.com/ql0722/1655681,如需轉載請自行聯系原作者

繼續閱讀