定時任務crond服務

石頭,等待發表於2018-11-30

crond

什麼是?

  crond 是linux系統中用於定期執行命令或指定程式任務的服務。一般情況下,安裝完系統操作之後,預設會啟動任務排程服務。

linux排程任務的工作可以分為兩類:

系統自身執行的工作:系統週期性執行的任務工作,如:輪詢系統日誌,備份系統資料,清理快取等

使用者執行的工作:某個使用者定期要做的任務,如:每隔5分鐘和網際網路上的時間伺服器進行時間的同步,每晚上10點進行資料的備份,每天定期執行某個指令碼等

指令語法

  crontab [ -u user] file

  crontab [-u user] {-l |-r|-e}

  -l 顯示使用者crontab檔案的內容  crontab -l

  -r 從crontab目錄中刪除使用者的crontab檔案  crontab -r

  -e 進入vi模式編輯crontab檔案  crontab -e

  -i 刪除使用者crontab檔案前確認提示  crontab -e

  -u user 指定使用者  crontab -u kangkang -l

指令說明

  通過crontab 我們可以在固定的時間執行指定的系統指令或指令碼,這個指令非常適合週期性的日誌分析或者資料備份

 使用者許可權檔案

  /etc/cron.deny  該檔案中列的使用者不允許使用crontab命令

  /etc/cron.allow  該檔案中列的使用者允許使用crontab命令

  /vat/spool/cron  所有的用crontab 檔案存放的目錄,以使用者的命名

 

指令的使用格式

預設情況下,使用者所建立的crontab檔案位於/var/spool/cron 其中crontab對應的檔案與使用者名稱一致

格式共分為7段,前5段為時間段,第6段為以哪個使用者執行crontab(預設是當使用者),第7段為所要執行的命令段

格式如下:

01 * * * * root run

crontab 時間段的含義:

第一段:代表分鐘 00-59

第二段:小時   00-23

第三段: 日期  01-31

第四段:月份  01-12

第五段:星期  0-6

* 表示任意時間都 例如:00 23 * * * commond 表示無論何年何月何周何日的23:00執行任務

– 表示分隔符   例如: 17-19點 每小時的00 分執行任務 00 17-19 * * * commond

,表示分割時間段  例如: 20 17,18 * * * command 每天的17點、18點20都執行任務

/n 每隔n單位的時間  例如: */10 * * * * command 每10分鐘執行一次任務

crontab依賴的服務檢視及重啟

chkconfig –list |grep crond

/etc/init.d/crond status 

/etc/init.d/crond restart