crontab語法和使用示例


Linux定時任務一般使用crond服務,系統一般默認安裝有定時任務crond服務:

service crond status

基本語法

crontab [選項]

-e : 編輯或添加定時任務

-l : 查看系統的定時任務

-r : 刪除當前用戶所有的定時任務

示例:

[root@hadoop103 xiaomao]# crontab -l
*/10 * * * * /usr/sbin/ntpdate hadoop101

有一個定時任務,是每過10分鐘,執行/usr/sbin/ntpdate hadoop101 命令

該命令作用是去hadoop101機器更新時間(不在本文討論範圍)。

執行規則

定時任務 有5個 * : * * * * *, 後邊跟上要執行的具體任務。

項目 含義 範圍
第一個“*” 一小時中的第幾分鐘 0-59
第二個“*” 一天當中的第幾個小時 0-23
第三個“*” 一個月中的第幾天 1-31
第四個“*” 一年中的第幾月 1-12
第五個“*” 一週中的星期幾 0-7(0和7都代表星期日)

示例:

45 22 * * * 	 #在每天的22點執行
 0 17 * * 1		 #每週一的17點0分執行,此時周優先級高於天,所以雖然天設置爲* ,但並不是每天,每週一執行。 

特殊符號

符號 含義
* 代表任何時間,比如第一個“*”,代表一個小時的每分鐘都執行一次
, 代表連續的時間。比如:“08,12,16 * * * ” 表示在每天的8點0分,
12點0分,16點0分都執行一次
- 代表連續的時間範圍。比如 “0 5 * * 1-6” ,表示在週一到週六的凌晨5點0分執行
/n 代表每隔多久執行一次。比如:“*/10 * * * * ” 代表每隔10分鐘執行一次

示例:

*/10 4 * * *  #每天的凌晨4點,每10分鐘執行一次。結果會是執行6次。
40 4 * * 1-5  #每週一到週五凌晨4點40分執行一次
0 0 1,15 * 1  #每月1號和15號,每週一的0點0分執行命令。注意星期幾和幾號最好不要同時出現,因爲都是代表天,很容易混亂。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章