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,如需轉載請自行聯系原作者