天天看點

linux之crontab定時器

作者:烨神es

簡介

crontab 指令允許使用者送出、編輯或删除相應的作業。每一個使用者都可以有一個crontab 檔案來儲存排程資訊。可以使用它運作任意一個 s h e l l 腳本或某個指令。

crontab指令格式

作用:用于生成cron程序所需要的crontab檔案

crontab的指令格式

# crontab -e

使用編輯器編輯目前的crontab檔案。

crontab檔案格式

minute hour day-of-month month-of-year day-of-week commands

分< >時< >日< >月< >星期< >要運作的指令 < >表示空格

其中

Minute 一小時中的哪一分鐘 [0~59]

hour 一天中的哪個小時 [0~23]

day-of-month 一月中的哪一天 [1~31]

month-of-year 一年中的哪一月 [1~12]

day-of-week 一周中的哪一天 [0~6] 0表示星期天

commands 執行的指令

書寫注意事項

1,全都不能為空,必須填入,不知道的值使用通配符*表示任何時間

2,每個時間字段都可以指定多個值,不連續的值用,間隔,連續的值用-間隔。

3,指令應該給出絕對路徑

4,使用者必須具有運作所對應的指令或程式的權限

如何使用crontab 運作多個任務

方法1:在crontab -e 裡 寫多個

輸入指令 crontab –e

敲回車

linux之crontab定時器

開始編寫任務:

linux之crontab定時器

方法2:把所有的任務,寫入到一個可執行的檔案

再在crontab -e裡面配置執行任務

linux之crontab定時器

分鐘 小時 天 月 星期 指令/腳本

示例:

eg:4點備份

0 4 * * *

eg:每周二,周五,下午6點 的計劃任務

0 18 * * 2,5

eg:1到3月份,每周二周五,下午6點的計劃任務

0 18 * 1-3 2,5

eg:周一到周五下午,5點半提醒學生15分鐘後關機

30 17 * * 1-5 /usr/bin/wall < /etc/issue

45 17 * * 1-5 /sbin/shutdown -h now

eg:學校的計劃任務, 12點14點,檢查apache服務是否啟動

*/2 12-14 * 3-6,9-12 1-5

eg:再添加一個備份,把/etc目錄備份到/backup下,然後把錯誤的情況也記錄下來,正确的檔案都丢到/dev/null下,看不見(相當于一個黑洞)

*/2 12-14 * 3-6,9-12 1-5 /bin/cp -r /etc /backup/etc.20170407 2> /backup/etc.bak.err

/dev/null

eg:每月 1、1 0、2 2日的4:45運作/apps/bin目錄下的backup.sh

45 4 1,10,22 * * /apps/bin/backup.sh

eg:每周六、周日的 1 : 10運作一個find指令

10 1 * * 6,0 /bin/find -name "core" -exec rm {} \;

eg:在每天 18:00至23 :00之間每隔30分鐘運作/apps/bin目錄下的dbcheck.sh

0,30 18-23 * * * /apps/bin/dbcheck.sh

eg:每星期六的 11:00 pm運作/apps/bin目錄下的qtrend.sh

0 23 * * 6 /apps/bin/qtrend.sh

繼續閱讀