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