crontab文件包含送交cron守護進程的一系列做業和指令。每一個用戶能夠擁有本身的crontab文件;同時,操做系統保存一個針對整個系統的crontab文件,該文件一般是/etc/crontab
,而這個文件只能由系統管理員修改。
/etc/crontab
文件中前三行:shell
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root
第一行SHELL變量指定了系統要使用哪一個shell,這裏是bash。
第二行PATH變量制定了系統執行命令的路徑。
第三行MAILTO變量制定了crond的任務執行信息將經過郵件發送給root用戶, 若是該變量爲空,則表示不發送任務執行信息給用戶。bash
crontab [-u user] [-l| -r| -e] [-i] -l: 列出當前用戶的計劃任務 -e: 編輯當前用戶的計劃任務 -r: 刪除當前用戶的全部計劃任務。即刪除/var/spool/cron/USERNAME文件 -u: 管理制定用戶的計劃文件,僅root有權限 -i: 在使用-r選項刪除全部任務時提示用戶確認。
crontab -e
建立的計劃任務會默認放在/var/spool/cron/目錄下以用戶名命名的文件中。操作系統
.---------------- minute (0 - 59) | .------------- hour (0 - 23) | | .---------- day of month (1 - 31) | | | .------- month (1 - 12) OR jan,feb,mar,apr ... | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat | | | | | * * * * * user-name command to be executed 在以上各個字段中,還可使用如下特殊字符: 星號(*):表明全部可能的值,例如month字段若是是星號,則表示在知足其它字段的制約條件後每個月都執行該命令操做。 逗號(,):能夠用逗號隔開的值指定一個列表範圍,例如,「1,2,5,7,8,9」 中槓(-):能夠用整數之間的中槓表示一個整數範圍,例如「2-6」表示「2,3,4,5,6」 正斜線(/):能夠用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線能夠和星號一塊兒使用,例如*/10,若是用在minute字段,表示每十分鐘執行一次。指定的時間點不能被步長整除時,其意義將不存在。例如 */7 * * * * 注意: a.每行定義一個週期性任務,共7個字段。user-name默認當前用戶 b.執行計劃任務的環境變量不一樣於用戶登陸後得到的環境,所以建議命令使用絕對路徑 c.執行結果會發送郵件給mailto指定的當前用戶
示例:code
*/5 * * * * 每5分鐘執行一次 3 * * * * 每小時的第3分鐘執行一次 3 4 * * 5 每週5的4點3分執行一次 5 6 7 * * 每個月的7號的6點5分執行一次 7 8 9 10 * 每一年的10月9號8點7分執行一次 9 8 * * 3,7 每週3和週日的8點9分 0 8,20 * * 3,7 每週3和週日的8點和20點執行一次 0 9-18 * * 1-5 週一到週五的9-18點,即工做時間內的每小時 0 7 25 12 * 每一年的12月25號7點執行一次