linux crontab 用法入門(mén)教程
發(fā)布時(shí)間:2022-10-24 07:14
來(lái)源:群英
閱讀:177
作者:群英
欄目: 主機資訊
歡迎投稿:712375056
鑒于很多人對crontab 用法都不知道怎么用,而自己最近又在搞這個(gè)東西,所以研究了下crontab 用法。在這跟大家分享一下:
crond和crontab
cron是linux提供的一種
服務(wù)器,用于定期執行shell命令。主要由兩部分組成
crond:cron服務(wù)的守護進(jìn)程,用于定期調度
crontab:cron提供的UI,用于編輯調度計劃
crontab的使用方法,大家可以學(xué)習一下,如下圖:
主要有三個(gè)選項:
“-e”編輯:與vim類(lèi)是,但是在保存退出時(shí),他會(huì )幫你檢查任務(wù)語(yǔ)法;
“-l”列舉所有任務(wù);
“-r”刪除所有任務(wù);
目前介紹的是基于當前用戶(hù)的crontab,系統級別的crontab見(jiàn)后面介紹。
crontab 基本語(yǔ)法,如下圖
【調度頻率】 shell命令
給大家舉個(gè)例子:
可以看出,前面分別是分鐘,小時(shí),天,月和周,是shell命令。cron調度的最小頻率為1分鐘。上面這段調度的意思是:“每天10點(diǎn)30分,執行/some/path/do_something.sh”。
以上命令中具體含義:
“周”這一欄中0和7都代表周日
每個(gè)月的一日無(wú)法由crontab直接支持,需要通過(guò)腳本判斷,參考如下。
命令是路徑
還有一些輔助的符號,可以借助他們寫(xiě)出更靈活的調度
常見(jiàn)的例子
59 23 11 27 * mail benben < /home/dmtsai/lover.txt // 每一年11月27日23分59 秒發(fā)一封情書(shū)給benben
0 17 * * 5 mail all_members < weekily_report_notify // 每周五5點(diǎn)整,提醒所有組員發(fā)周報
系統級的crontab
系統級的crontab只有root權限有權編輯,該crontab是一個(gè)文件,位置為/etc/crontab,
系統級別的crontab的語(yǔ)法與上面稍微不一樣,需要在頻率和命令之間添加命令執行者,如下所示,并且可以添加一些全局變量,在調度中使用:
詳細的系統級調度可以參考這里。
這里需要強調/etx目錄下幾個(gè)與cron有關(guān)的目錄和文件,如下所示
cron.d:目錄,此目錄下以及子目錄中所有符合調度語(yǔ)法的文件都會(huì )被執行
cron.deny與cron.allow:此文件記錄拒絕和允許執行的帳號,cron.allow的優(yōu)先級大于cron.deny,建議一般只留一個(gè)可以
cron.daily/hourly/monthly/weekly:這些目錄里面全部都是腳本,分別在指定的時(shí)間里面執行。
路徑
雖然crontab執行,可以理解為手動(dòng)執行的定時(shí)觸發(fā)。但是,執行過(guò)程中的路徑仍然有所區別,很多情況下手動(dòng)執行成功,但是crontab不成功,多半是由于采用了相對路徑。所以,使用crontab時(shí),盡量采用路徑。
來(lái)源鏈接:https://www.qy.cn/zx/idc/763.html
本站聲明:網(wǎng)站內容來(lái)源于網(wǎng)絡(luò ),如有侵權,請聯(lián)系我們,我們將及時(shí)處理。