Linux的crontab任務排程

2021-10-23 05:41:15 字數 2100 閱讀 5943

任務排程:是指系統在某個時間執行特定的 命令或者程式。

任務排程分類:

系統工作:有些重要的 工作必須周而復始的執行,如病毒掃瞄等

個別使用者工作:個別使用者可能希望執行某些程式,比如對mysql資料庫備份。

原理示意圖

crontab 進行 定時任務的設定

crontab [選項]

常用選項:

排程引數:* * * * *

特定時間執行任務案例:

45 22 * * * :表示在22點的45分執行命令

0 17 * * 1:表示在每週一的的17點0分鐘執行命令

0 5 1,15 * * :表示在每個月的1號15號的5點0分執行任務

40 4 * * 1-5:表示在每週1到周5的4點40分執行命令

*/10 4 * * *:表示在每天的凌晨4點,每隔10分鐘執行一次命令

0 0 1,15 * 1:表示在每個月1號和15號,每週1的0點0分都會執行命令 。注意:星期幾和幾號最好不要同時出現,因為它們的定義都是天,容易混亂

任務要求:

設定任務排程檔案:/etc/crontab

設定個人任務排程。執行 crontab -e 命令。

接著輸入任務到排程檔案:

*/1 * * * * ls -l /etc/ > /temp/to.txt (每個小時的每分鐘執行 ls -l /etc/ > /temp/to.txt)

步驟如下:

輸入命令:crontab -e

編輯*/1 * * * * ls -l /etc/ > /temp/to.txt

儲存退出

在每一分鐘都會自動呼叫 ls -l /etc/ > /temp/to.txt

案例:每隔1分鐘 ,將當前的日期資訊,追加到 /tmp/mydate 檔案中

先編寫乙個檔案 /home/mytask1.sh

date >> /tmp/mydate

給mydate 乙個可以執行的許可權

chmod -744 /home/mytask1.sh

crontab -e

*/1 * * * * /home/mytask1.sh

每天凌晨2:00 將mysql 資料庫 testdb,備份到檔案mydb.bak中

先編寫乙個檔案 /home/mytask2.sh

裡面編寫:/usr/local/bin/mysqldump -uroot -p密碼 testdb > /tmp/mydb.bak

給/home/mytask2.sh乙個可以執行的許可權

chmod 744 /home/mytask2.sh

crontab -e

0 2 * * * /home/mytask2.sh

crontab -r:終止任務排程

crontab -l:列出當前有哪些任務排程

service crond restart:重啟任務排程

Linux的crontab任務排程

任務排程,是指系統在某個時間執行的特定的命令或程式。任務排程分類 1.系統工作 有些重要的工作必須周而復始地執行。如病毒掃等。2.個別使用者工作,個別使用者可能希望執行某些程式,比如對mysql資料庫的備份。crontab命令 作用 用來進行定時任務的設定。語法 crontab 引數 常用引數 e ...

Linux任務計畫crontab

crontab簡介 crontab 命令常見於 unix 和類 unix 的作業系統之中 linux 就屬於類 unix 作業系統 用於設定週期性被執行的指令。該命令從輸入裝置讀取指令,並將其存放於 crontab 檔案中,以供之後讀取和執行。通常,crontab 儲存的指令被守護程序啟用,cron...

Linux任務計畫crontab

我們時常會有一些定期定時的任務,如週期性的清理一下 tmp,週期性的去備份一次資料庫,週期性的分析日誌等等。而且有時候因為某些因素的限制,執行該任務的時間會很尷尬。crontab則用於設定週期性被執行的指令。啟動rsyslog,以便我們可以通過日誌中的資訊來了解我們的任務是否真正的被執行了 本地中 ...