crond是linux下用來週期性執行某種任務或者等待處理某些事件的乙個守護程序。crond每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。linux下的任務分兩類:
a 系統任務排程:系統週期性所要執行的工作,比如寫快取資料到硬碟、日誌清理等。在/etc目錄下有乙個crontab檔案,就是系統任務排程的配置檔案。
系統任務排程主要完成系統的一些維護操作。
b 使用者任務排程:使用者定期要執行的工作,比如使用者資料備份、定時郵件提醒等。使用者可以使用crontab工具來定 制自己的計畫任務。所有使用者定義的crontab檔案都被儲存在/var/spool/cron目錄中。其檔名與使用者名稱一致。
使用者任務排程主要完成使用者自定義的一些任務,可以將使用者任務排程放到系統任務排程來完成(一般不建議這麼做),但反過來卻不行。root使用者的任務排程操作可以通過「crontab -uroot -e」來設定,也可以直接寫入/etc/crontab檔案,需要注意的是,如果要定義乙個定時重啟系統的任務,就必須將任務放到/etc/crontab檔案中。
crontab的使用格式:
-- crontab [-u user] [file]
-- crontab [-u user] [-e|-l|-r|-i]
選項含義:
// -u user:用來設定某個使用者的crontab服務,例如,「-u ixdba」表示設定ixdba使用者的crontab服務,此引數一般有 root使用者來執行。
// file:file是命令檔案的名字,表示將file做為crontab的任務列表檔案並載入crontab。如果在命令列中沒有指定這個 檔案,crontab命令將接受標準輸入(鍵盤)上鍵入的命令,並將它們載入crontab。
//-e:編輯某個使用者的crontab檔案內容。如果不指定使用者,則表示編輯當前使用者的crontab檔案。
// -l:顯示某個使用者的crontab檔案內容,如果不指定使用者,則表示顯示當前使用者的crontab檔案內容。
// -r:從/var/spool/cron目錄中刪除某個使用者的crontab檔案,如果不指定使用者,則預設刪除當前使用者的crontab檔案。
// -i:在刪除使用者的crontab檔案時給確認提示。
crontab檔案格式:
minute:表示分鐘,可以是從0-59之間的任何整數
hour:表示小時,可以是0-23之間的任何整數
day:表示日期,可以是1-31之間的任何整數
month:表示月份,可以是從1-12之間的任何整數
week:表示星期幾,可以是從0-7之間的任何整數
在以上各個欄位中,還可以使用以下特殊字元:
星號(*):代表所有可能的值,例如month欄位如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該 命令操作。例如: 0 12 * * * mail alix -s 「at 12:00」
ex:30 21 * * * /usr/local/etc/rc.d/ghttpd restart //每晚的21:30重啟lighttpd 。
參考:
Linux linux定時任務crontab
crontab命令的功能是在一定的時間間隔排程一些命令的執行。它的配置檔案是 etc crontab。vim etc crontab etc crontab中每行指定乙個定時任務,其描述格式如下 minute hour daymonth dayofweek commandminute 從0到59的整...
linux定時任務 at定時任務
at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...
linux定時任務
crontab 設定定時任務 crontab 可以根據分鐘 小時 日期 月份 星期的組合來設定定時任務的自動執行 要使用該服務必須啟動 crond 服務,檢視 crond 服務有沒有啟動,執行命令 servicecrond status 一些任務事例,幫助理解 3020 root back.sh 每...