中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

每天一個linux命(ming)(ming)令(ling)(50):crontab命(ming)(ming)令(ling)

前一天(tian)學習了 ;at 命(ming)令是(shi)(shi)針對僅運行一次的(de)(de)任(ren)務(wu)(wu),循(xun)環運行的(de)(de)例(li)行性計(ji)(ji)劃(hua)(hua)(hua)任(ren)務(wu)(wu),linux系(xi)統則(ze)是(shi)(shi)由(you) cron (crond) 這個系(xi)統服(fu)務(wu)(wu)來控制的(de)(de)。Linux 系(xi)統上面(mian)原本(ben)就有非常多的(de)(de)計(ji)(ji)劃(hua)(hua)(hua)性工作,因此這個系(xi)統服(fu)務(wu)(wu)是(shi)(shi)默認啟動的(de)(de)。另外, 由(you)于使(shi)用者自己也可以設置(zhi)計(ji)(ji)劃(hua)(hua)(hua)任(ren)務(wu)(wu),所以, Linux 系(xi)統也提供了使(shi)用者控制計(ji)(ji)劃(hua)(hua)(hua)任(ren)務(wu)(wu)的(de)(de)命(ming)令 :crontab 命(ming)令。

一、crond簡介

crond是linux下用來周期(qi)性的(de)(de)執(zhi)行(xing)某(mou)(mou)種任務(wu)或等待處理某(mou)(mou)些事件(jian)的(de)(de)一個守護進程,與windows下的(de)(de)計劃任務(wu)類似,當安裝(zhuang)完成操作系(xi)統(tong)后,默認會安裝(zhuang)此服務(wu)工具(ju),并(bing)且會自(zi)動啟動crond進程,crond進程每分(fen)鐘會定(ding)期(qi)檢(jian)查是否有要執(zhi)行(xing)的(de)(de)任務(wu),如果有要執(zhi)行(xing)的(de)(de)任務(wu),則自(zi)動執(zhi)行(xing)該任務(wu)。

Linux下的任(ren)務調度(du)(du)分為兩(liang)類(lei),系統任(ren)務調度(du)(du)和用戶任(ren)務調度(du)(du)。

系統(tong)任務(wu)調度(du):系統(tong)周期(qi)性所要執行的(de)工(gong)作,比如寫(xie)緩存數(shu)據(ju)到硬盤、日志(zhi)清(qing)理等(deng)。在/etc目錄下有一個crontab文(wen)件,這個就(jiu)是系統(tong)任務(wu)調度(du)的(de)配(pei)置文(wen)件。

/etc/crontab文(wen)件包括下面幾行:

[root@localhost ~]# cat /etc/crontab 

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=""HOME=/

# run-parts

51 * * * * root run-parts /etc/cron.hourly

24 7 * * * root run-parts /etc/cron.daily

22 4 * * 0 root run-parts /etc/cron.weekly

42 4 1 * * root run-parts /etc/cron.monthly

[root@localhost ~]#

前四(si)行(xing)(xing)(xing)是用(yong)來配置(zhi)crond任務運(yun)行(xing)(xing)(xing)的(de)環境變量(liang),第(di)(di)一行(xing)(xing)(xing)SHELL變量(liang)指定了(le)系統要使用(yong)哪個(ge)(ge)shell,這里(li)是bash,第(di)(di)二行(xing)(xing)(xing)PATH變量(liang)指定了(le)系統執行(xing)(xing)(xing)命令的(de)路徑,第(di)(di)三行(xing)(xing)(xing)MAILTO變量(liang)指定了(le)crond的(de)任務執行(xing)(xing)(xing)信(xin)息將通過(guo)電子郵件發送給root用(yong)戶,如果(guo)MAILTO變量(liang)的(de)值為(wei)空,則表示(shi)(shi)不(bu)發送任務執行(xing)(xing)(xing)信(xin)息給用(yong)戶,第(di)(di)四(si)行(xing)(xing)(xing)的(de)HOME變量(liang)指定了(le)在執行(xing)(xing)(xing)命令或者腳本時使用(yong)的(de)主目錄。第(di)(di)六至九行(xing)(xing)(xing)表示(shi)(shi)的(de)含(han)義將在下個(ge)(ge)小節詳細講述。這里(li)不(bu)在多說(shuo)。

用(yong)戶(hu)任務調度(du):用(yong)戶(hu)定(ding)期要執行的(de)工作(zuo),比如用(yong)戶(hu)數(shu)據備(bei)份(fen)、定(ding)時郵件提醒等。用(yong)戶(hu)可以(yi)使用(yong) crontab 工具來定(ding)制自己的(de)計劃任務。所(suo)有用(yong)戶(hu)定(ding)義的(de)crontab 文(wen)(wen)件都(dou)被保存在 /var/spool/cron目錄中(zhong)。其文(wen)(wen)件名與用(yong)戶(hu)名一致。

使用者(zhe)權限文件

文件:

/etc/cron.deny

說明(ming):

該文件(jian)中所列用(yong)戶不允許使用(yong)crontab命令(ling)

文件(jian):

/etc/cron.allow

說明:

該(gai)文件中(zhong)所列(lie)用戶允許(xu)使用crontab命(ming)令

文件:

/var/spool/cron/

說明:

所有(you)用戶crontab文件存放的目錄,以(yi)用戶名(ming)命(ming)名(ming)

crontab文件(jian)的含義:

用戶所建立的crontab文件中,每一(yi)行都代(dai)表一(yi)項任(ren)務,每行的每個字段(duan)(duan)代(dai)表一(yi)項設(she)置,它的格(ge)式共分(fen)為六(liu)個字段(duan)(duan),前五段(duan)(duan)是時間設(she)定段(duan)(duan),第(di)六(liu)段(duan)(duan)是要(yao)執行的命令段(duan)(duan),格(ge)式如下(xia):

minute   hour   day   month   week   command

其中:

minute: 表(biao)示分鐘,可(ke)以是從0到(dao)59之間的(de)任何整數(shu)。

hour:表示小時,可以(yi)是從0到23之間的任何整數。

day:表示日期(qi),可以是從(cong)1到31之(zhi)間的任何整數(shu)。

month:表示(shi)月份,可以是(shi)從1到12之間的任何整數。

week:表示星期(qi)幾,可以是從0到7之間的任何整數,這里的0或7代表星期(qi)日。

command:要執行(xing)的(de)命令(ling),可以是系統命令(ling),也可以是自己(ji)編(bian)寫的(de)腳本文件。

 

在以上各個字段中(zhong),還可以使用以下特殊字符:

星(xing)號(*):代(dai)表(biao)所有可能的值,例如month字段(duan)如果是(shi)星(xing)號,則表(biao)示(shi)在滿足其它字段(duan)的制約條件后每月都執行(xing)該命令操作。

逗(dou)號(hao)(,):可以用逗(dou)號(hao)隔開(kai)的值指(zhi)定一個列(lie)表范圍(wei),例如,“1,2,5,7,8,9”

中杠(gang)(gang)(-):可以用整數之間(jian)的中杠(gang)(gang)表(biao)示一(yi)個整數范圍,例(li)如“2-6”表(biao)示“2,3,4,5,6”

正(zheng)斜(xie)(xie)線(xian)(/):可(ke)以(yi)用正(zheng)斜(xie)(xie)線(xian)指定時(shi)(shi)間(jian)的間(jian)隔(ge)頻率(lv),例如(ru)“0-23/2”表(biao)示(shi)每(mei)兩小時(shi)(shi)執(zhi)(zhi)行一(yi)次(ci)。同(tong)時(shi)(shi)正(zheng)斜(xie)(xie)線(xian)可(ke)以(yi)和星(xing)號一(yi)起使用,例如(ru)*/10,如(ru)果用在(zai)minute字(zi)段(duan),表(biao)示(shi)每(mei)十分(fen)鐘執(zhi)(zhi)行一(yi)次(ci)。

二、crond服務

安(an)裝(zhuang)crontab

yum install crontabs

服務操作(zuo)說明:

/sbin/service crond start //啟動服務

/sbin/service crond stop //關閉服(fu)務

/sbin/service crond restart //重(zhong)啟服務(wu)

/sbin/service crond reload //重(zhong)新載入(ru)配置(zhi)

查看crontab服務狀態:

service crond status

手(shou)動啟動crontab服(fu)務:

service crond start

查看crontab服務是否已設(she)置為(wei)開機啟動,執行命令:

ntsysv

加入開機(ji)自動(dong)啟(qi)動(dong)

chkconfig –level 35 crond on

三(san)、crontab命令(ling)詳解(jie)

1.命令格式:

crontab [-u user] file

crontab [-u user] [ -e | -l | -r ]

2.命令功能:

通過crontab 命令,我們可以在固(gu)定的(de)(de)間(jian)(jian)隔(ge)時(shi)間(jian)(jian)執行指定的(de)(de)系統指令或 shell script腳本。時(shi)間(jian)(jian)間(jian)(jian)隔(ge)的(de)(de)單位可以是分(fen)鐘、小(xiao)時(shi)、日、月、周及以上的(de)(de)任(ren)意組(zu)合。這個命令非常設合周期性的(de)(de)日志分(fen)析或數(shu)據備份等工(gong)作(zuo)。

3.命令(ling)參數:

-u user:用(yong)來(lai)設定(ding)某(mou)個用(yong)戶(hu)的crontab服務,例如,“-u ixdba”表示設定(ding)ixdba用(yong)戶(hu)的crontab服務,此參數一般有root用(yong)戶(hu)來(lai)運行。

file:file是命(ming)令(ling)文(wen)件的名字,表(biao)示將(jiang)file做為crontab的任務列(lie)表(biao)文(wen)件并(bing)載(zai)(zai)入(ru)crontab。如果在命(ming)令(ling)行中沒有指定這個文(wen)件,crontab命(ming)令(ling)將(jiang)接受標準輸入(ru)(鍵盤)上鍵入(ru)的命(ming)令(ling),并(bing)將(jiang)它們載(zai)(zai)入(ru)crontab。

-e:編輯某個用戶的crontab文(wen)件(jian)內容(rong)。如果不指定用戶,則表示編輯當前(qian)用戶的crontab文(wen)件(jian)。

-l:顯示(shi)(shi)某個用戶的(de)crontab文件內(nei)容,如果不指定用戶,則表示(shi)(shi)顯示(shi)(shi)當(dang)前(qian)用戶的(de)crontab文件內(nei)容。

-r:從(cong)/var/spool/cron目錄中(zhong)刪除(chu)某個用戶的crontab文件,如果(guo)不指定用戶,則默認刪除(chu)當前用戶的crontab文件。

-i:在(zai)刪除用戶的crontab文件時給確認提(ti)示。

4.常用方法:

1). 創建一個新的crontab文(wen)件

在(zai)(zai)考慮向cron進程(cheng)提交一(yi)個(ge)crontab文(wen)件之前(qian),首(shou)先要做的(de)一(yi)件事情(qing)就是(shi)設(she)置環境變量EDITOR。cron進程(cheng)根(gen)據(ju)它來確定使(shi)用哪個(ge)編(bian)輯器編(bian)輯crontab文(wen)件。9 9 %的(de)UNIX和LINUX用戶都使(shi)用vi,如果你(ni)也(ye)是(shi)這(zhe)樣,那么你(ni)就編(bian)輯$ HOME目錄(lu)下的(de). profile文(wen)件,在(zai)(zai)其中加入這(zhe)樣一(yi)行(xing):

EDITOR=vi; export EDITOR

然后保存并(bing)退(tui)出。不妨創建一個名為(wei)<user> cron的(de)(de)文(wen)件,其中(zhong)<user>是用戶名,例如, davecron。在該(gai)文(wen)件中(zhong)加入(ru)如下的(de)(de)內容(rong)。

      # (put ;your own initials here)echo the date to the console every

      # 15minutes between 6pm and 6am

      0,15,30,45 18-06&nbsp;* * * /bin/echo 'date' > /dev/console

    保存(cun)并退出。確(que)信前面5個域用(yong)空格分隔。

在上面的(de)(de)(de)例(li)子中,系統(tong)將(jiang)每隔1 5分鐘向控制(zhi)臺(tai)輸出(chu)一(yi)次(ci)當前時間(jian)。如(ru)果系統(tong)崩潰或掛(gua)起,從最后(hou)所顯示的(de)(de)(de)時間(jian)就可以(yi)一(yi)眼看(kan)出(chu)系統(tong)是什(shen)么時間(jian)停止(zhi)工作的(de)(de)(de)。在有些系統(tong)中,用tty1來表示控制(zhi)臺(tai),可以(yi)根(gen)據實際(ji)情況對(dui)上面的(de)(de)(de)例(li)子進行相(xiang)應的(de)(de)(de)修(xiu)改。為了(le)提交你剛(gang)剛(gang)創建的(de)(de)(de)crontab文件,可以(yi)把(ba)這個新創建的(de)(de)(de)文件作為cron命令(ling)的(de)(de)(de)參數(shu):

     $ crontab davecron

現在該(gai)文(wen)件已經提交給cron進程(cheng),它將每(mei)隔1 5分鐘運行一次。

同時(shi),新創建文(wen)件(jian)的一個副本已經被放在/var/spool/cron目錄中(zhong),文(wen)件(jian)名就是用戶名(即dave)。

2). 列出crontab文件

   為(wei)了列出crontab文件,可以用:

     $ crontab -l

     0,15,30,45,18-06 * * * /bin/echo `date` > dev/tty1

你將會(hui)看到(dao)和上(shang)面(mian)類似的內容(rong)。可以(yi)使(shi)用這種(zhong)方(fang)法在$ H O M E目錄中對crontab文(wen)件做一備份(fen):

     $ crontab -l > $HOME/mycron

    這樣,一旦不小心誤刪了crontab文件,可以用(yong)上一節所講(jiang)述的方法迅速(su)恢(hui)復。

3). 編(bian)輯(ji)crontab文件

 &nbsp; ;如果希望添(tian)加(jia)、刪(shan)除或編(bian)輯(ji)crontab文件中(zhong)的條目(mu),而E D I TO R環境(jing)變量又設(she)置為(wei)v i,那么就可(ke)以用v i來編(bian)輯(ji)crontab文件,相應的命令為(wei):

     $ crontab -e

可以像使用v i編(bian)輯其(qi)他任何文(wen)件(jian)那樣修改crontab文(wen)件(jian)并退出(chu)。如果修改了某些條目(mu)(mu)或添加了新的(de)(de)條目(mu)(mu),那么在保存該文(wen)件(jian)時, c r&nbsp;o n會(hui)對其(qi)進(jin)行必(bi)要的(de)(de)完整性檢查(cha)。如果其(qi)中的(de)(de)某個域(yu)出(chu)現了超出(chu)允許范圍的(de)(de)值,它會(hui)提示你。

我們在編輯crontab文(wen)件時,沒準會(hui)加入新的條目。例如,加入下面的一條:

    # DT:delete core files,at 3.30am on 1,7,14,21,26,26 days of each month

     30 3 1,7,14,21,26 * * /bin/find&nbsp;-name&nbsp;"core' -exec rm {} \;

現在保(bao)存并退出。最好(hao)在crontab文件的每一(yi)個條(tiao)(tiao)目之(zhi)上加(jia)入一(yi)條(tiao)(tiao)注釋,這(zhe)樣就可以知(zhi)(zhi)道它(ta)的功(gong)能、運(yun)行時間,更為重要的是,知(zhi)(zhi)道這(zhe)是哪(na)位用戶的作(zuo)業(ye)。

現在(zai)讓我(wo)們使用前面講過的(de)crontab -l命令列出它(ta)的(de)全(quan)部信(xin)息:

    $ crontab -l 

    # (crondave installed on Tue May 4 13:07:43 1999)

    # DT:ech the date to the console every 30 minites

   0,15,30,45 18-06 * * * /bin/echo `date` > /dev/tty1

    # DT:delete core files,at 3.30am&nbsp;on 1,7,14,21,26,26 days of each month

    30 ;3 1,7,14,21,26 * * /bin/find -name "core' -exec rm {} \;

4). 刪除crontab文(wen)件

要刪除crontab文件,可以用:

    $ crontab -r

5). 恢復丟失的crontab文件

如(ru)果不(bu)小心(xin)誤(wu)刪了crontab文件,假設你在自己的$ H O M ;E目錄下(xia)還(huan)有一(yi)個備份,那么可以(yi)將其拷(kao)貝到/var/spool/cron/<username>,其中<username>是用戶名。如(ru)果由于權限問題無法完成拷(kao)貝,可以(yi)用:

     $ crontab <filename>

 ;   其中,<filename>是(shi)你在(zai)$ H O M E目錄(lu)中副本的文(wen)件名。

我建議你在自己的(de)$ H O M E目錄(lu)中保存一個該文(wen)(wen)件(jian)(jian)的(de)副(fu)本。我就(jiu)有(you)(you)過(guo)類似(si)的(de)經(jing)歷,有(you)(you)數(shu)次誤刪了(le)crontab文(wen)(wen)件(jian)(jian)(因為r鍵(jian)(jian)緊(jin)挨在e鍵(jian)(jian)的(de)右邊)。這(zhe)就(jiu)是為什么有(you)(you)些系統文(wen)(wen)檔(dang)建議不要直(zhi)接編輯crontab文(wen)(wen)件(jian)(jian),而是編輯該文(wen)(wen)件(jian)(jian)的(de)一個副(fu)本,然(ran)后重(zhong)新提交新的(de)文(wen)(wen)件(jian)(jian)。

有(you)些(xie)crontab的變(bian)體(ti)有(you)些(xie)怪異,所(suo)以在使用crontab命令時要格外小(xiao)心。如果遺漏了任何選項,crontab可能會打開一個空文件,或者看起來像是個空文件。這(zhe)時敲delete鍵退出,不(bu)要按<Ctrl-D>,否則你(ni)將丟失crontab文件。

5.使用實例

實例(li)1:每1分鐘執行(xing)一次command

命(ming)令(ling):

* * * * * command

 

實例2:每(mei)小時的第3和(he)第15分鐘(zhong)執行(xing)

命令:

3,15 * * * * command

 

實(shi)例(li)3:在上午8點(dian)到11點(dian)的第(di)3和第(di)15分(fen)鐘執行

命令:

3,15 8-11 * * * command

 

實例4:每隔兩天的上午8點(dian)到11點(dian)的第3和第15分鐘執行

命令:

3,15&nbsp;8-11 */2 * * command

 

實(shi)例5:每個星期一的上午8點到(dao)11點的第(di)3和(he)第(di)15分鐘執行(xing)

命令:

3,15 8-11 * * 1 command

 

實例6:每晚的21:30重(zhong)啟(qi)smb 

命令(ling):

30 21 * * * /etc/init.d/smb restart

 

實例7:每月1、10、22日的4 : 45重(zhong)啟(qi)smb 

命(ming)令:

45 4 1,10,22 * * /etc/init.d/smb restart

 

實例8:每周(zhou)六、周(zhou)日的1 : 10重啟(qi)smb

命令:

10&nbsp;1 * * 6,0 /etc/init.d/smb restart

 

實例9:每天18 :&nbsp;00至23 : 00之間每隔30分鐘重啟smb 

命(ming)令:

0,30 18-23 * * * /etc/init.d/smb restart

 

實例10:每(mei)星期六(liu)的晚(wan)上11 : 00 pm重啟smb 

命令:

0 23 * *&nbsp;6 /etc/init.d/smb restart

 

實例11:每一小時重啟smb 

命(ming)令:

* */1 ;* * * /etc/init.d/smb restart

 

實例12:晚上11點到早(zao)上7點之間,每(mei)隔一(yi)小(xiao)時重啟smb 

命令(ling):

* 23-7/1 * * * ;/etc/init.d/smb restart

 

實例13每(mei)月(yue)的4號與每(mei)周(zhou)一到周(zhou)三的11點重啟(qi)smb 

命令:

0 11 4 * mon-wed /etc/init.d/smb&nbsp;restart

 

實例14:一月一號的4點重啟smb 

命令:

0 4 1 jan * /etc/init.d/smb&nbsp;restart

實例(li)15:每小時執行(xing)/etc/cron.hourly目(mu)錄內(nei)的腳本

命令:

01   *  &nbsp;*   *   *&nbsp;    root run-parts /etc/cron.hourly

說明:

run-parts這個(ge)(ge)參數了,如果去掉這個(ge)(ge)參數的話,后面就可以寫(xie)要運行的某個(ge)(ge)腳本名,而不是目錄名了

四、使用注意事項

1. 注意環(huan)境變量問題

有時我(wo)們創建了一個(ge)(ge)crontab,但(dan)是(shi)這個(ge)(ge)任(ren)務卻無法自動執(zhi)行(xing),而手動執(zhi)行(xing)這個(ge)(ge)任(ren)務卻沒有問題,這種情況一般是(shi)由(you)于在(zai)crontab文件中沒有配(pei)置環境變(bian)量引起的。

在(zai)crontab文件(jian)中定(ding)義多(duo)個調度(du)任(ren)務(wu)時,需(xu)(xu)要特別注意的(de)(de)一(yi)個問題就(jiu)是環(huan)(huan)境(jing)(jing)變量(liang)(liang)的(de)(de)設置,因為我們(men)手動(dong)執(zhi)行(xing)(xing)某個任(ren)務(wu)時,是在(zai)當前shell環(huan)(huan)境(jing)(jing)下進行(xing)(xing)的(de)(de),程(cheng)序當然能(neng)找到環(huan)(huan)境(jing)(jing)變量(liang)(liang),而(er)系統自動(dong)執(zhi)行(xing)(xing)任(ren)務(wu)調度(du)時,是不會加載(zai)任(ren)何環(huan)(huan)境(jing)(jing)變量(liang)(liang)的(de)(de),因此,就(jiu)需(xu)(xu)要在(zai)crontab文件(jian)中指定(ding)任(ren)務(wu)運行(xing)(xing)所需(xu)(xu)的(de)(de)所有(you)環(huan)(huan)境(jing)(jing)變量(liang)(liang),這(zhe)樣,系統執(zhi)行(xing)(xing)任(ren)務(wu)調度(du)時就(jiu)沒有(you)問題了。

不(bu)(bu)要(yao)假定cron知道所需要(yao)的(de)特殊環(huan)境,它其實并不(bu)(bu)知道。所以(yi)你要(yao)保(bao)證在shelll腳本中提供(gong)所有必要(yao)的(de)路徑和環(huan)境變(bian)量(liang),除(chu)了一些自動設置的(de)全局變(bian)量(liang)。所以(yi)注意如(ru)下(xia)3點:

1)腳本中(zhong)涉及文(wen)件路徑時寫全(quan)局路徑;

2)腳(jiao)本執行要用到java或其他環境變(bian)量時(shi),通過(guo)source命令引入環境變(bian)量,如(ru):

cat start_cbp.sh

#!/bin/sh

source /etc/profile

export RUN_CONF=/home/d139/conf/platform/cbp/cbp_jboss.conf

/usr/local/jboss-4.0.5/bin/run.sh -c mev &

3)當(dang)手動(dong)執行腳本OK,但是crontab死(si)活不執行時(shi)。這(zhe)時(shi)必須大膽懷(huai)疑是環境變(bian)量惹的禍,并(bing)可以嘗試在crontab中(zhong)直接(jie)引入(ru)環境變(bian)量解決(jue)問題。如:

0 * * * * . /etc/profile;/bin/sh /var/www/java/audit_no_count/bin/restart_audit.sh

2. 注意清理系統用(yong)戶的(de)郵件(jian)日志(zhi)

每(mei)條任(ren)務(wu)調度執(zhi)行(xing)(xing)完畢(bi),系統(tong)都(dou)會將(jiang)任(ren)務(wu)輸出信息通過電子郵件的形(xing)式發送(song)給當(dang)前系統(tong)用(yong)戶,這樣日積月累,日志信息會非常大,可能會影(ying)響系統(tong)的正常運行(xing)(xing),因此,將(jiang)每(mei)條任(ren)務(wu)進行(xing)(xing)重定向處理非常重要。

例如,可以(yi)在crontab文件中設置如下形式,忽略日(ri)志(zhi)輸出:

0 */3 * * * /usr/local/apache2/apachectl restart >/dev/null 2>&1

“/dev/null 2>&1”表示(shi)先(xian)將(jiang)標(biao)(biao)準(zhun)輸(shu)出(chu)重(zhong)定(ding)向(xiang)到(dao)/dev/null,然后將(jiang)標(biao)(biao)準(zhun)錯(cuo)誤重(zhong)定(ding)向(xiang)到(dao)標(biao)(biao)準(zhun)輸(shu)出(chu),由(you)于(yu)標(biao)(biao)準(zhun)輸(shu)出(chu)已經重(zhong)定(ding)向(xiang)到(dao)了/dev/null,因此(ci)標(biao)(biao)準(zhun)錯(cuo)誤也會(hui)重(zhong)定(ding)向(xiang)到(dao)/dev/null,這樣日志輸(shu)出(chu)問題就解(jie)決了。

3. 系統級(ji)任(ren)務(wu)調(diao)度(du)與(yu)用(yong)戶級(ji)任(ren)務(wu)調(diao)度(du)

系(xi)統級(ji)(ji)任(ren)務(wu)(wu)調(diao)(diao)度主(zhu)要完成(cheng)系(xi)統的一(yi)些維護操(cao)作(zuo),用戶(hu)(hu)級(ji)(ji)任(ren)務(wu)(wu)調(diao)(diao)度主(zhu)要完成(cheng)用戶(hu)(hu)自(zi)定(ding)義的一(yi)些任(ren)務(wu)(wu),可(ke)以將用戶(hu)(hu)級(ji)(ji)任(ren)務(wu)(wu)調(diao)(diao)度放到系(xi)統級(ji)(ji)任(ren)務(wu)(wu)調(diao)(diao)度來完成(cheng)(不建議(yi)這么做(zuo)),但(dan)是反過來卻(que)不行,root用戶(hu)(hu)的任(ren)務(wu)(wu)調(diao)(diao)度操(cao)作(zuo)可(ke)以通(tong)過“crontab&nbsp;–uroot –e”來設置(zhi),也可(ke)以將調(diao)(diao)度任(ren)務(wu)(wu)直(zhi)接寫入(ru)/etc/crontab文件,需要注意的是,如果要定(ding)義一(yi)個(ge)定(ding)時重啟系(xi)統的任(ren)務(wu)(wu),就必須將任(ren)務(wu)(wu)放到/etc/crontab文件,即使在(zai)root用戶(hu)(hu)下創(chuang)建一(yi)個(ge)定(ding)時重啟系(xi)統的任(ren)務(wu)(wu)也是無(wu)效的。

4. 其(qi)他注意事項(xiang)

新創(chuang)建(jian)的cron job,不會馬上執行(xing),至少(shao)要過(guo)2分鐘(zhong)才執行(xing)。如(ru)果重(zhong)啟cron則馬上執行(xing)。

當crontab突然失效(xiao)時,可以(yi)嘗試/etc/init.d/crond restart解(jie)決問題。或(huo)者查看日(ri)志看某個job有沒有執(zhi)行/報錯tail -f /var/log/cron。

千萬別(bie)亂(luan)運(yun)行crontab -r。它從Crontab目錄(/var/spool/cron)中刪(shan)除(chu)用(yong)(yong)戶(hu)的Crontab文件(jian)。刪(shan)除(chu)了該用(yong)(yong)戶(hu)的所有crontab都沒(mei)了。

在(zai)(zai)crontab中%是(shi)有特殊含(han)義的,表示換行的意思(si)。如果(guo)要用的話必須(xu)進行轉義\%,如經常(chang)用的date ‘+%Y%m%d’在(zai)(zai)crontab里(li)是(shi)不會執行的,應該換成date ‘+\%Y\%m\%d’。

posted @ 2013-01-08 09:06  peida  閱讀(490694)  評論(28)    收藏  舉報