crontab 進行定時任務的設定
首先來了解什么是任務調度:
任務調度:是指系統在某個時間執行的特定的命令或程式
任務調度分類:1.系統作業:有些重要的作業必須周而復始的執行,如病毒掃描等
2.個別用戶作業:個別用戶可能希望執行某些程式,比如對mysql資料庫的備份
基本語法:
crontab [選項]
常用選項:
-e 編輯crontab定時任務
-l 查詢crontab任務
-r 洗掉當前用戶所有的crontab任務
快速入門案例:
1、設定任務調度檔案: /etc/crontab
2、設定個人任務調度,執行crontab -e 命令,
3、輸入任務到調度檔案
如: */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都代表星期日) |
具體步驟如下:
1)執行 crontab -e 指令
2)寫入 */1 * * * * ls -l /etc/ > /tmp/to.txt
3)保存退出
4)在保存退出之后的每一分鐘都會自動的執行 ls -l /etc/ > /tmp/to.txt 指令
特殊符號的說明:
| 特殊符號 | 含義 |
| * | 代表任何時間,比如第一個“*”就代表一小時中每分鐘都執行一次的意思 |
| , | 代表不連續的時間,比如“0 8,12,16 * * *”命令,就代表在每天的8點0分,12點0分,16點0分都執行一次命令 |
| - | 代表連續的時間范圍,比如“0 5 * * 1-6”,代表在周一到周六的凌晨5點0分執行命令 |
| */n | 代表每隔多久執行一次,比如”*/10 * * * *“命令,代表每隔10分鐘就執行一遍命令 |
應用實體:
案例1:每隔1分鐘,就將當前的日期資訊,追加到 /tmp/mydate檔案中
1)先撰寫一個檔案 /home/mytask1.sh
檔案內容為 date >> /tmp/mydate
2) 給mytask1.sh 一個可以執行的權限
chmod 744 /home/mytask1.sh
3)crontab -e
在里面寫入 */1 * * * *
案例2:每隔1分鐘,將當前日期和日歷都追加到/home/mycal 檔案中
案例3:每天凌晨2:00將mysql資料庫testdb,備份到檔案中,
crontab 相關指令:
1)crontab -r:終止任務調度
2)crontab -l:列出當前有哪些任務調度
3)service crond restart :重啟任務調度
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/162455.html
標籤:Linux
