Linux -定時任務調度
l crond 任務調度
crontab 進行定時任務的設置,。
概述
任務調度:是指系統在某個時間執行的特定的命令或程序。
任務調度分類:1.系統工作:有些重要的工作必須周而復始地執行。如病毒掃描等
2.個別用戶工作:個別用戶可能希望執行某些程序,比如對mysql數據庫的備份。 基本語法
crontab [選項]
常用選項
-e |
編輯crontab定時任務 |
-l |
查詢crontab任務 |
-r |
刪除當前用戶所有的crontab任務 |
l crond 任務調度
快速入門
設置任務調度文件:/etc/crontab
設置個人任務調度。執行crontab –e命令。接著輸入任務到調度文件
如:*/1 * * * * ls –l /etc/ > /tmp/to.txt
意思說每小時的每分鐘執行ls –l /etc/ > /tmp/to.txt命令
參數細節說明
- 5個占位符的說明
項目 |
含義 |
範圍 |
第一個“*” |
一小時當中的第幾分鐘 |
0-59 |
第二個“*” |
一天當中的第幾小時 |
0-23 |
第三個“*” |
一個月當中的第幾天 |
1-31 |
第四個“*” |
一年當中的第幾月 |
1-12 |
第五個“*” |
一周當中的星期幾 |
0-7(0和7都代表星期日) |
l crond 任務調度
參數細節說明
- 特殊符號的說明
特殊符號 |
含義 |
* |
代表任何時間。比如第一個“*”就代表一小時中每分鐘都執行一 次的意思。 |
, |
代表不連續的時間。比如“0 8,12,16 * * * 命令”,就代表在每天 的8點0分,12點0分,16點0分都執行一次命令 |
- |
代表連續的時間範圍。比如“0 5 * * 1-6命令”,代表在周一到周 六的淩晨5點0分執行命令 |
*/n |
代表每隔多久執行一次。比如“*/10 * * * * 命令”,代表每隔 10分鐘就執行一遍命令 |
l crond 任務調度
參數細節說明
- 特定時間執行任務案例
時間 |
含義 |
45 22 * * * 命令 |
在22點45分執行命令 |
0 17 * * 1 命令 |
每周1 的17點0分執行命令 |
0 5 1,15 * * 命令 |
每月1號和15號的淩晨5點0分執行命令 |
40 4 * * 1-5 命令 |
每周一到周五的淩晨4點40分執行命令 |
*/10 4 * * * 命令 |
每天的淩晨4點,每隔10分鐘執行一次命令 |
0 0 1,15 * 1 命令 |
每月1號和15號,每周1的0點0分都會執行命令。註意:星期幾和幾號最好不要同時出現,因為他們定義的都是天。非常容易讓管理員混亂。 |
l crond 任務調度
應用實例
案例1:每隔1分鐘,就將當前的日期信息,追加到 /tmp/mydate 文件中案例2:每隔1分鐘, 將當前日期和日歷都追加到 /home/mycal 文件中案例3:每天淩晨2:00 將mysql數據庫 testdb ,備份到文件中。
crond 相關指令:
1) conrtab –r:終止任務調度。
2) crontab –l:列出當前有那些任務調度
3) service crond restart [重啟任務調度]
Linux -定時任務調度