Linux之crond任務調度
1. 原理示意圖
crond 進行定時任務的設置。
2.概述
任務調度:是指系統在某個時間指定特定的命令或者程序。
任務調度分類:
(1)系統工作:有些重要的工作必須周而復始地執行。如病毒掃描等。
(2)個別用戶工作:個別用戶可能希望執行某些程序,比如對 MySQL數據庫的備份。
3. 基本語法
crontab [選項]
常用選項:
-a 編輯crontab定時任務。
-l 查詢crontab任務。
-r 刪除當前用戶所有的crontab任務。==
4. 快速入門
(1)任務的要求
設置任務調度文件:/etc/crontab
設置個人任務調度。執行 crontab -e 命令。
接着輸入任務到調度文件,如:*/1 * * * * ls -l /etc/ > /tmp/to.txt命令。
意思是每小時的每分鐘執行== ls -l /etc > /tmp/to.txt ==命令。
5. 步驟如下
(1)crontab -e
(2==)*/1 * * * * ls -l /etc/ > /tmp/to.txt==命令。
(3)當保存退出後啓動程序。
(4)在每一分鐘都會自動的調用 ls -l /etc >> /tmp/to.txt。
6. 參數細節說明
7. 任務調度的幾個應用實例
(1)案例一:每隔1分鐘,就將當前的日期信息,追加到 /etc/mydate 文件中。
①先創建一個文件,可以使用vim指令。例如:vim /home/mytask1.sh
文件中的內容:date >> /tmp/mydate
②給該mytask1.sh 一個可以執行的權限。
使用命令:chmod 744 /home/mytask1.sh
③使用命令:crontab -e設置任務調度的執行時間爲==*/1 * * * * /home/mytask1.sh==。
④成功。
8. 案例2:每隔1分鐘,將當前日期和日曆都追加到/home/mycal 文件中。
①先創建一個文件,可以使用vim指令。例如:vim /home/mytask2.sh
文件中的內容:
date >> /tmp/mycal
cal >> /tmp/mycal
②給該mytask2.sh 一個可以執行的權限。
使用命令:chmod 744 /home/mytask2.sh
③使用命令:crontab -e設置任務調度的執行時間爲:*/1 * * * * /home/mytask2.sh。
④成功。
9. 案例3:每天凌晨2:00將MySQL數據庫testdb ,備份到文件中 mydb.bak。
①先創建一個文件,可以使用vim指令。例如:vim /home/mytask3.sh
文件中的內容:
/usr/local/mysql/bin/mysqldump -u root -p root testdb > /tmp/mydb.bak
②給該mytask3.sh 一個可以執行的權限。
使用命令:chmod 744 /home/mytask3.sh
③使用命令:crontab -e設置任務調度的執行時間爲:0 2 * * * /home/mytask3.sh。
④成功。
10. crontab 相關指令
(1)crontab -r:終止任務調度。
(2)crontab -l:列出當前有哪些任務調度。
(3)service crond restart [ 重啓任務調度 ]