Linux/Unix 系統有個 crontab 程式是用來讓系統各使用者自行設定在需要的時間 ,做需要的事。
( r9 t& V: f7 R' A* j* x3 S( I( f* C& t" F* w
例如使用者可以設定每星期三的早上8點會自動ftp 到某地去抓檔案, 或每天半夜3點自動備份資料等...要有定時裝置,記憶體內要常註 /usr/sbin/crond 程式一般 Linux 在開機時會自動載入,如果發現無 crond 在跑,可以到 /etc/rc.d/init.d/ 目錄下看看是否有將執行crond 程式的指令加入開機自動執行檔裡面。如果都沒有表示沒安裝crond, CentOS 下只要下指令 , C) @5 w4 Z/ G" ^. m
yum install vixie-cron 就可安裝完成
" {4 }: _7 s6 F+ X3 ^* M4 H5 M: G9 ^. r$ Y
使用者可以用 crontab -e(存檔後即刻生效) 指令來編寫需要做的工作或或寫在一個 file 裡,再執行 crontab filename 就可以了。所有使用者的 crontab 檔都會存在 /var/spool/cron/ 下,檔名就是該帳號的名字,例如 root。
6 n* Z! v( I; `2 r/ R3 N xcrontab 的格式如下:0 }6 q6 W1 S' e0 c Y, w6 X
2 X8 L% {: a" y
分 時 日 月 星期 要執行的指令
/ X0 w- ^8 K. ?) H0 d例如:
2 I: Z$ j0 {* F) d; ]8 t6 I4 C+ B9 Z: d. F0 h" @ K
30 12 * * * /usr/bin/rm xxx.txt
" a- h, F; @3 V
1 D% B4 T9 c) X+ {1 T在 12:30 將 xxx.txt 這個檔案殺掉
5 Y$ h9 y# H2 V+ ~) {) k# a) ~/ B$ w* 號表示每日每月每星期都執行/ C. o6 U% u4 @8 m
另外寫 crontab 時須注意必須使用 絕對路徑如 rm 執行檔 必須寫成 /usr/bin/rm
0 u+ z1 f! Y# a0 d* @0 y舉例:# every two hours at the top of the hour
! d$ {6 _7 F: \/ i) b 0 */2 * * * date# r7 o% o; U- P, G
# every two hours from 11p.m. to 7a.m., and at 8a.m.. q* h* W/ E' m% J* J; ~( _5 f2 \
0 23-7/2,8 * * * date( l+ D: E! @" P2 Z! X, K# u6 S/ p
9 w8 u9 m! L d( @+ V# {: ?
更詳細可參考: http://linux.vbird.org/linux_basic/0430cron.php! P0 A J- N, x5 [4 h
! I0 p% e; j5 h& w2 v
( O4 y9 c# u" O4 J) I
- _2 r) I f( u/ t4 _/ }) M; L! A; m! J
|
|