系統管理命令crontab

crontab命令被用來提交和管理用戶週期性自動執行的任務,系統啓動時會自動啓動crond進程,crond進程每分鐘會自動檢查是否有要執行的任務,有自動執行任務。php

語法shell

crondtab(選項)(參數)緩存

選項rest

  • -e編輯該登陸用戶定時任務
  • -l列出該登陸用戶定時任務
  • -r刪除該登陸用戶定時任務
  • -u<用戶名>編輯指定用戶定時任務

參數日誌

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字段,表示每十分鐘執行一次。

相關文章
相關標籤/搜索