共計(jì) 2266 個(gè)字符,預(yù)計(jì)需要花費(fèi) 6 分鐘才能閱讀完成。
本篇內(nèi)容介紹了“crontab 是不是 linux 自帶的”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓丸趣 TV 小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
是的,crontab 是 linux 系統(tǒng)下自帶的定時(shí)任務(wù)工具,用戶可以使用 crontab 工具來(lái)定制自己的計(jì)劃任務(wù)。通過(guò) crontab 命令,用戶可以在固定的間隔時(shí)間執(zhí)行指定的系統(tǒng)指令或 shell 腳本,語(yǔ)法“crontab [-u user] file”或“crontab [-u user] [-e|-l|-r]”;時(shí)間間隔的單位可以是分鐘、小時(shí)、日、月、周及以上的任意組合。
本教程操作環(huán)境:linux7.3 系統(tǒng)、Dell G3 電腦。
linux 系統(tǒng)則是由 cron (crond) 這個(gè)系統(tǒng)服務(wù)來(lái)控制的。Linux 系統(tǒng)上面原本就有非常多的計(jì)劃性工作,因此這個(gè)系統(tǒng)服務(wù)是默認(rèn)啟動(dòng)的。另 外, 由于使用者自己也可以設(shè)置計(jì)劃任務(wù),所以,Linux 系統(tǒng)也提供了使用者控制計(jì)劃任務(wù)的命令 :crontab 命令。)
Linux 下的任務(wù)調(diào)度分為兩類,系統(tǒng)任務(wù)調(diào)度和用戶任務(wù)調(diào)度。
系統(tǒng)任務(wù)調(diào)度:
系統(tǒng)周期性所要執(zhí)行的工作,比如寫(xiě)緩存數(shù)據(jù)到硬盤(pán)、日志清理等。在 /etc 目錄下有一個(gè) crontab 文件,這個(gè)就是系統(tǒng)任務(wù)調(diào)度的配置文件。
用戶任務(wù)調(diào)度:
用戶定期要執(zhí)行的工作,比如用戶數(shù)據(jù)備份、定時(shí)郵件提醒等。用戶可以使用 crontab 工具來(lái)定制自己的計(jì)劃任務(wù)。所有用戶定義的 crontab 文件都被保存在 /var/spool/cron 目錄中。其文件名與用戶名一致。
crontab 是 linux 系統(tǒng)下自帶的定時(shí)任務(wù)工具。crontab 命令詳解
1.命令格式:
crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
2.命令功能:
通過(guò) crontab 命令,我們可以在固定的間隔時(shí)間執(zhí)行指定的系統(tǒng)指令或 shell script 腳本。時(shí)間間隔的單位可以是分鐘、小時(shí)、日、月、周及以上的任意組合。這個(gè)命令非常設(shè)合周期性的日志分析或數(shù)據(jù)備份等工作。
3.命令參數(shù):
-u user:用來(lái)設(shè)定某個(gè)用戶的 crontab 服務(wù),例如,“-u ixdba”表示設(shè)定 ixdba 用戶的 crontab 服務(wù),此參數(shù)一般有 root 用戶來(lái)運(yùn)行。file:file 是命令文件的名字, 表示將 file 做為 crontab 的任務(wù)列表文件并載入 crontab。如果在命令行中沒(méi)有指定這個(gè)文件,crontab 命令將接受標(biāo)準(zhǔn)輸入(鍵盤(pán))上鍵入的命令,并將它們載入 crontab。-e:編輯某個(gè)用戶的 crontab 文件內(nèi)容。如果不指定用戶,則表示編輯當(dāng)前用戶的 crontab 文件。-l:顯示某個(gè)用戶的 crontab 文件內(nèi)容,如果不指定用戶,則表示顯示當(dāng)前用戶的 crontab 文件內(nèi)容。-r:從 /var/spool/cron 目錄中刪除某個(gè)用戶的 crontab 文件,如果不指定用戶,則默認(rèn)刪除當(dāng)前用戶的 crontab 文件。-i:在刪除用戶的 crontab 文件時(shí)給確認(rèn)提示。
4、crontab 文件格式
上圖是 crontab 的文件格式說(shuō)明
第 1 列分鐘 0~59
第 2 列小時(shí) 0~23
第 3 列日 1~31
第 4 列月 1~12
第 5 列星期 0~7(0 和 7 表示星期天)
第 6 列要運(yùn)行的命令
crontab 常用方法
crontab -l # 查看任務(wù)
crontab -e # 編輯任務(wù)
鍵入 a 進(jìn)入編輯模式,進(jìn)行編輯后
Ctrl+c # 退出編輯模式
Shift + w + q # 退出編輯
wq 保存并退出
1. 創(chuàng)建定時(shí)任務(wù)
每個(gè)用戶都可以調(diào)度自己的任務(wù),在 jingkong 用戶下創(chuàng)建定時(shí)任務(wù)。
功能: 每分鐘執(zhí)行一次,將時(shí)間寫(xiě)入到指定文件中
[jingkong@muguangjingkong ~]$ crontab -e
### first crontab
*/1 * * * * /bin/date /home/jingkong/jk-log.txt
列出目前所有的定時(shí)任務(wù)
[jingkong@muguangjingkong ~]$ crontab -l
### first crontab
*/1 * * * * /bin/date /home/jingkong/jk-log.txt
刪除所有的定時(shí)任務(wù)
[jingkong@muguangjingkong ~]$ crontab -r
2.crontab 語(yǔ)法說(shuō)明
進(jìn)入到 vi 編輯界面編寫(xiě)我們要調(diào)度的任務(wù),crontab 調(diào)度命令的格式如下:
* * * * * command path //
前五個(gè)字段可以取整數(shù)值,指定何時(shí)開(kāi)始工作,第六個(gè)域是字符串,即命令字段,其中包括了 crontab 調(diào)度執(zhí)行的命令。各個(gè)字段之
間用 spaces 和 tabs 分割。
* * * * *
分:1-59, 每十分鐘 */10
時(shí): 0-23, */2
日: 1 -31
月: 1-12
星期: (0-6)
舉例:
## 每天 21:30 執(zhí)行
30 21 * * * cmd01
### 每個(gè)月 1,11,21 的 2:30 執(zhí)行
30 2 1,11,21 * * cmd02
## 每周六或者每周日,1:45 執(zhí)行
45 1 * * 6,0 cmd03
#每天 20:00 至 23:00 日 ,每半個(gè)小時(shí)執(zhí)行一次
0,30 20-23 * * * cmd04
## 每一小時(shí)執(zhí)行一次
* */1 * * * cmd05
“crontab 是不是 linux 自帶的”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注丸趣 TV 網(wǎng)站,丸趣 TV 小編將為大家輸出更多高質(zhì)量的實(shí)用文章!