crontab命令被用來提交和管理用戶週期性自動執行的任務,系統啓動時會自動啓動crond進程,crond進程每分鐘會自動檢查是否有要執行的任務,有自動執行任務。php
語法shell
crondtab(選項)(參數)緩存
選項rest
參數日誌
crontab文件:指定包含待執行任務的crontab文件;code
crontab相關概念解釋進程
Linux下定時任務分爲兩種:分別爲系統任務調度和用戶任務調度;crontab
系統任務調度:系統週期性所要執行的工做,好比緩存數據寫入磁盤,日誌清理等。一般是/etc/crontab
文件。it
用戶任務調度:用戶週期性所要執行的工做,好比請求耗時任務,用戶數據備份等。一般在/var/spool/cron
目錄中。class
crond服務:
$ /etc/init.d/cron status //查看服務狀態 $ /etc/init.d/cron start //啓動服務 $ /etc/init.d/cron stop //關閉服務 $ /etc/init.d/cron restart //重啓服務 $ /etc/init.d/cron reload //平滑重啓(從新載入配置)
實例
minute hour day month week command 順序:分 時 日 月 周 //每1分鐘執行一次command * * * * * command //每小時的第3和第15分鐘執行 3,15 * * * * command //在上午8點到11點的第3和第15分鐘執行 3,15 8-11 * * * command //每隔兩天的上午8點到11點的第3和第15分鐘執行 3,15 8-11 */2 * * command //每一個星期一的上午8點到11點的第3和第15分鐘執行 3,15 8-11 * * 1 command //每晚的21:30平滑重啓PHP 30 21 * * * /etc/init.d/php reload 每個月一、十、22日的4 : 45重啓php 45 4 1,10,22 * * /etc/init.d/php restart
解釋:
minute: 表示分鐘,能夠是從0到59之間的任何整數。
hour:表示小時,能夠是從0到23之間的任何整數。
day:表示日期,能夠是從1到31之間的任何整數。
month:表示月份,能夠是從1到12之間的任何整數。
week:表示星期幾,能夠是從0到7之間的任何整數,這裏的0或7表明星期日。
command:要執行的命令,能夠是系統命令,也能夠是本身編寫的腳本文件。
星號(*):表明全部可能的值,例如month字段若是是星號,則表示在知足其它字段的制約條件後每個月都執行該命令操做。
逗號(,):能夠用逗號隔開的值指定一個列表範圍,例如,「1,2,5,7,8,9」
中槓(-):能夠用整數之間的中槓表示一個整數範圍,例如「2-6」表示「2,3,4,5,6」
正斜線(/):能夠用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線能夠和星號一塊兒使用,例如*/10,若是用在minute字段,表示每十分鐘執行一次。