2010/11/23

crontab - UN*X 自動定時工作排程

UN*X 上 具有重複且需定時處理的工作,可以使用 crontab

查看 crontab列表(List)使用 -l 參數;編輯(Edit)使用 -e 參數
# crontab -e

其中格式如下所述:
1 2 3 4 * /PATH/Exec_File

各欄位 以空白隔開
最後一欄是「要執行的程式路徑及檔名」
前面是規定「要執行的時間」:
第一個是分,第二個依序是時、日、月、周
沒有規定的,就直接 Key 星號(*),如上例『周』
以上例來說,就是每年的 ‵4月3日2時1分‵ 會執行後面的程式
後面程式,最好寫好完整路徑名!
因為,執行時的環境跟你現有環境,並不一定會一樣
若是沒有指定完整路徑,有可能會發生 「找不到檔案」 的情況


輸出結果

該檔案執行完後,如有輸出訊息
任何訊息皆會寫入至該User的信箱中
(所以請記得不定時去收信/清理信箱)


高階用法

週一至週五,每日 8-14時 各跑一次(*NOTE:『周』=> 0跟7均代表週日):
0 8-14 * * 1-5 ExecFile

每兩小時(整點)跑一次:
0 */2 * * * ExecFile

每日 18-07每兩小時(25分)跑一次:
25 18-7/2 * * * ExecFile

每日 8-11,13,15-18時 各跑一次:
0 8-11,13,15-18 * * * ExecFile


特異用法

開機時執行一次:
@reboot

一年一次:
@yearly

0 0 1 1 *

@annually

每月一次:
@monthly

0 0 1 * *

每週一次:
@weekly

0 0 * * 0

每日一次:
@daily

0 0 * * *

@midnight

每小時一次:
@hourly

0 * * * *

沒有留言:

張貼留言