crond任務(wù)調(diào)度

1、原理示意圖

原理示意圖

crontab進(jìn)行定時(shí)任務(wù)的設(shè)置。

2、概述

任務(wù)調(diào)度:是指系統(tǒng)在某個(gè)時(shí)間執(zhí)行的特定的命令或程序。
任務(wù)調(diào)度分類(lèi):
1)、系統(tǒng)工作:有些重要的工作必須周而復(fù)始地執(zhí)行。如病毒掃描等。
2)、個(gè)別用戶工作:個(gè)別用戶可能希望執(zhí)行某些程序,比如mysql數(shù)據(jù)庫(kù)的備份。

3、基本語(yǔ)法

crontab [選項(xiàng)]

3.1、常用選項(xiàng)

選項(xiàng) 說(shuō)明
-e 編輯crontab定時(shí)任務(wù)
-l 查詢crontab任務(wù)
-r 刪除當(dāng)前用戶所有crontab任務(wù)

4、快速入門(mén)

4.1、任務(wù)的要求

設(shè)置任務(wù)調(diào)度文件:/etc/crontab。
設(shè)置個(gè)人任務(wù)調(diào)度。執(zhí)行crontab -e命令。
接著輸入任務(wù)到調(diào)度文件
如:*/1 * * * * ls -l /etc/ >>/tmp/to.txt
意思說(shuō)每個(gè)小時(shí)每分鐘執(zhí)行ls -l /etc/>>/tmp/to.txt 命令

4.2、步驟如下

1)crontab -e
2)*/1 * * * * ls -l /etc/ >>/tmp/to.txt

3)當(dāng)保存后退出就開(kāi)始執(zhí)行這個(gè)腳本。


4)在每一分鐘都會(huì)自動(dòng)的調(diào)用ls -l /etc/>>/tmp/to.txt

4.3、參數(shù)細(xì)節(jié)說(shuō)明

5個(gè)占位符的說(shuō)明

項(xiàng)目 含義 范圍
第一個(gè)"*" 一個(gè)小時(shí)當(dāng)中的第幾分鐘 0-59
第二個(gè)"*" 一天當(dāng)中的第幾小時(shí) 0-23
第三個(gè)"*" 一個(gè)月中的第幾天 1-31
第四個(gè)"*" 一年當(dāng)中的第幾月 1-12
第五個(gè)"*" 一周當(dāng)中的星期幾 0-7(0和7都代表星期日)

特殊符號(hào)的說(shuō)明

特殊符號(hào) 含義
* 代表任何時(shí)間。比如第一個(gè)*就代表一小時(shí)中國(guó)每分鐘都執(zhí)行一次的意思
代表不連續(xù)的時(shí)間。比如"0 8,12,16 * * * 命令",就代表在每天的8點(diǎn)0分,12點(diǎn)0分,16點(diǎn)0分都執(zhí)行一次命令
- 代表連續(xù)的時(shí)間范圍。比如"0 5 * * 1-6"命令,代表子周一到周六的凌晨5點(diǎn)0分執(zhí)行命令
*/n 代表每隔多久執(zhí)行一次。比如"*/10 * * * * "命令,代表每隔10分鐘就執(zhí)行一遍命令

特定時(shí)間執(zhí)行任務(wù)案例

時(shí)間 含義
45 22 * * * 在22點(diǎn)45分執(zhí)行命令
0 17 * * 1命令 每周1的17點(diǎn)0分執(zhí)行命令
0 5 1,15 * * 命令 每月1號(hào)和15號(hào)的凌晨5點(diǎn)0分執(zhí)行命令
40 4 * * 1-5命令 每周一多周五的凌晨4點(diǎn)40分執(zhí)行命令
*/10 4 * * *命令 每天的凌晨4點(diǎn),每隔10分鐘執(zhí)行一次命令
0 0 1,15 * 1命令 每月1號(hào)和15號(hào),每周1的0點(diǎn)0分都會(huì)執(zhí)行命令。注意:星期幾和幾號(hào)最好不要同時(shí)出現(xiàn),因?yàn)樗麄兌x的都是天,非常容易讓管理員混亂。

5、任務(wù)調(diào)度的幾個(gè)應(yīng)用實(shí)例

5.1、案例1:每隔一分鐘,就將當(dāng)前的日期信息,追加到/tmp/mydate文件中

1)先編寫(xiě)一個(gè)文件/home/mytask1.sh
date>>/tmp/mydate
2)給mytask1.sh一個(gè)可以執(zhí)行權(quán)限
chmod 744 /home/mytask1.sh
3)crontab -e
4)*/1 * * * * /home/mytask1.sh
5)成功

5.2、案例2:每隔1分鐘,將當(dāng)前日期和日歷都最佳到/home/mycal文件中

1)、先編寫(xiě)一個(gè)文件/home/mytask2.sh

date >>/tmp/mycal
cal>>/tmp/mycal

2)、給mytash2.sh一個(gè)可以執(zhí)行的權(quán)限
chmod 744 /home/mytask2.sh
3)crontab -e
4)、*/1 * * * * /home/mytask2.sh
5)、保存并退出,定時(shí)執(zhí)行。

5.3、案例3:每天凌晨2:00將mysql數(shù)據(jù)庫(kù)testdb,備份到文件中mydb.bak

1)、先編寫(xiě)一個(gè)文件/home/mytask3.sh
/usr/local/mysql/bin/mysqldump -u root -proot testdb>/tmp/mydb.bak
2)、給mytash3.sh一個(gè)可以執(zhí)行權(quán)限
chmod 744 /home/mytask2.sh
3)crontab -e
4)、*/1 * * * * /home/mytask3.sh
5)、保存并退出,定時(shí)執(zhí)行。

6、crond相關(guān)指令

1)、crontab -r:終止任務(wù)調(diào)度。
2)、crontab -l:列出當(dāng)前有哪些任務(wù)調(diào)度
3)、service crond restart:重啟任務(wù)調(diào)度

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容