tid=18848&Linux/Unix 系統有個 crontab 程式是用來讓系統各使用者自行設定在需要的時間 ,做需要的事。
, N, C% T0 _ ]) D" N" a( q. a. r1 Z1 Y) Q# O* F7 M
例如使用者可以設定每星期三的早上8點會自動ftp 到某地去抓檔案, 或每天半夜3點自動備份資料等...要有定時裝置,記憶體內要常註 /usr/sbin/crond 程式一般 Linux 在開機時會自動載入,如果發現無 crond 在跑,可以到 /etc/rc.d/init.d/ 目錄下看看是否有將執行crond 程式的指令加入開機自動執行檔裡面。如果都沒有表示沒安裝crond, CentOS 下只要下指令
+ X/ b, K, _5 zyum install vixie-cron 就可安裝完成
( Q8 z% w3 v" B' D0 ^% _* D% o& B$ `+ V3 o4 ~) }0 n
使用者可以用 crontab -e(存檔後即刻生效) 指令來編寫需要做的工作或或寫在一個 file 裡,再執行 crontab filename 就可以了。所有使用者的 crontab 檔都會存在 /var/spool/cron/ 下,檔名就是該帳號的名字,例如 root。0 S& J$ L( F6 n( P# `! [; m' \
crontab 的格式如下:7 U: a& c" C1 ?/ q u) z% h# P
/ R* ]' t' V( V- A; u
分 時 日 月 星期 要執行的指令
/ x( ]. A9 N$ u9 Z/ @2 o+ A例如:
6 j. I$ @& I0 ?3 {3 q1 \6 _8 v9 t2 o5 {. ?: o- q
30 12 * * * /usr/bin/rm xxx.txt
& F7 q/ Y* \* O* ?& m$ V1 T) G8 q1 h/ @' e7 Q) J
在 12:30 將 xxx.txt 這個檔案殺掉0 E; D' K# i k8 \; m
* 號表示每日每月每星期都執行
/ m, c0 ]! G" y7 O% D$ g另外寫 crontab 時須注意必須使用 絕對路徑如 rm 執行檔 必須寫成 /usr/bin/rm
5 o( ^' Q- u% F$ y! Q4 a舉例:# every two hours at the top of the hour. N7 X/ C* v( v7 r' g
0 */2 * * * date
# N4 u/ P0 T8 Z1 M+ q( P # every two hours from 11p.m. to 7a.m., and at 8a.m.% W( W s, O* h6 m: [
0 23-7/2,8 * * * date5 u, _4 R+ X* h A( [7 g( ^/ a
, K, L6 h, D N. }8 b( y7 I$ e- ?
更詳細可參考: http://linux.vbird.org/linux_basic/0430cron.php' w6 O) k: J2 S' d4 e1 O/ r1 D
5 ^0 S0 c" x$ S1 o+ D8 Q; t5 }7 _5 _, i+ J' g
, G7 m4 v, M: }* b
; w3 F; J: z6 l% f' h9 z |