簡介
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
敲回車
開始編寫任務:
方法2:把所有的任務,寫入到一個可執行的檔案
再在crontab -e裡面配置執行任務
分鐘 小時 天 月 星期 指令/腳本
示例:
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