Linux/Unix 系統有個 crontab 程式是用來讓系統各使用者自行設定在需要的時間 ,做需要的事。
/ n- f: {: A$ b0 \9 L/ a2 f7 I2 r# [) ]9 W3 V; H$ f, c: _
例如使用者可以設定每星期三的早上8點會自動ftp 到某地去抓檔案, 或每天半夜3點自動備份資料等...要有定時裝置,記憶體內要常註 /usr/sbin/crond 程式一般 Linux 在開機時會自動載入,如果發現無 crond 在跑,可以到 /etc/rc.d/init.d/ 目錄下看看是否有將執行crond 程式的指令加入開機自動執行檔裡面。如果都沒有表示沒安裝crond, CentOS 下只要下指令 . m' v4 r* p) W. T! z e1 ~; y
yum install vixie-cron 就可安裝完成
2 |7 W3 h5 l+ B& y7 C4 T
" a& \7 S+ }% w: |, B2 E! q3 t使用者可以用 crontab -e(存檔後即刻生效) 指令來編寫需要做的工作或或寫在一個 file 裡,再執行 crontab filename 就可以了。所有使用者的 crontab 檔都會存在 /var/spool/cron/ 下,檔名就是該帳號的名字,例如 root。
3 X4 u$ |6 S8 v- Lcrontab 的格式如下:
4 v/ \5 }- S7 _& K0 }; o! O
5 m* \. [% n( p1 ]+ m4 J分 時 日 月 星期 要執行的指令
' p6 f, ^7 P+ u/ u例如:4 P9 R. b) j1 V7 `4 E
' C. A8 g$ F* p0 m* g$ U30 12 * * * /usr/bin/rm xxx.txt8 l" I' l' f+ a: n3 o9 w
: n' b' d$ F4 }( d% w6 E+ G+ D在 12:30 將 xxx.txt 這個檔案殺掉; |1 p6 J) Z7 R. t6 f# O
* 號表示每日每月每星期都執行
; {7 }9 l y' o7 k2 `另外寫 crontab 時須注意必須使用 絕對路徑如 rm 執行檔 必須寫成 /usr/bin/rm/ h6 [/ A! B. d* w6 j7 k9 Q
舉例:# every two hours at the top of the hour
7 Z. \/ U+ j( X" `8 q8 Y' ^- y4 E 0 */2 * * * date
1 y, n( `7 X. l+ `3 S # every two hours from 11p.m. to 7a.m., and at 8a.m.
, z7 L1 `- |# a. J8 p) U 0 23-7/2,8 * * * date
- V; X0 W/ B! X/ ~
: ~+ ]. x6 j0 ]% b, |7 D7 g更詳細可參考: http://linux.vbird.org/linux_basic/0430cron.php
L( _& @% b: t& w! g b
( x, N3 ~) ^- E" O+ D' U- O6 j$ {! q+ J0 d; z
- R0 N5 N$ X6 }4 \% S/ I, L0 ^' d0 m
/ ]' |' N! t0 p! K- o
|
|