<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 25,  comments - 25,  trackbacks - 0
    feijipaopao 于 2004年 08月30日 發(fā)表

    cron命令

    前面介紹的兩條命令都會在一定時間內(nèi)完成一定任務,但是要注意它們都只能執(zhí)行 一次。也就是說,當指定了運行命令后,系統(tǒng)在指定時間完成任務,一切就結(jié)束了。但是在很多時候需要不斷重復一些命令,比如:某公司每周一自動向員工報告頭 一周公司的活動情況,這時候就需要使用cron命令來完成任務了。

    實際上,cron命令是不應該手工啟動的。cron 命令在系統(tǒng)啟動時就由一個shell腳本自動啟動,進入后臺(所以不需要使用&符號)。一般的用戶沒有運行該命令的權(quán)限,雖然超級用戶可以手工啟 動cron,不過還是建議將其放到shell腳本中由系統(tǒng)自行啟動。 首先cron命令會搜索/var/spool/cron目錄,尋找以/etc/passwd文件中的用戶名命名的crontab文件,被找到的這種文件將 載入內(nèi)存。例如一個用戶名為foxy的用戶,它所對應的crontab文件就應該是/var/spool/cron/foxy。也就是說,以該用戶命名的 crontab文件存放在/var/spool/cron目錄下面。cron命令還將搜索/etc/crontab文件,這個文件是用不同的格式寫成的。 cron啟動以后,它將首先檢查是否有用戶設置了crontab文件,如果沒有就轉(zhuǎn)入“休眠”狀態(tài),釋放系統(tǒng)資源。所以該后臺進程占用資源極少。它每分鐘 “醒”過來一次,查看當前是否有需要運行的命令。命令執(zhí)行結(jié)束后,任何輸出都將作為郵件發(fā)送給crontab的所有者,或者是/etc/crontab文 件中MAILTO環(huán)境變量中指定的用戶。 上面簡單介紹了一些cron的工作原理,但是cron命令的執(zhí)行不需要用戶干涉;需要用戶修改的是crontab中要執(zhí)行的命令序列,所以下面介紹 crontab命令。 crontab命令 crontab命令用于安裝、刪除或者列出用于驅(qū)動cron后臺進程的表格。也就是說,用戶把需要執(zhí)行的命令序列放到crontab文件中以獲得執(zhí)行。每 個用戶都可以有自己的crontab文件。下面就來看看如何創(chuàng)建一個crontab文件。 在/var/spool/cron下的crontab文件不可以直接創(chuàng)建或者直接修改。crontab文件是通過crontab命令得到的。現(xiàn)在假設有個 用戶名為foxy,需要創(chuàng)建自己的一個crontab文件。首先可以使用任何文本編輯器建立一個新文件,然后向其中寫入需要運行的命令和要定期執(zhí)行的時 間。 然后存盤退出。假設該文件為/tmp/test.cron。再后就是使用crontab命令來安裝這個文件,使之成為該用戶的crontab文件。鍵入: crontab test.cron 這樣一個crontab 文件就建立好了。可以轉(zhuǎn)到/var/spool/cron目錄下面查看,發(fā)現(xiàn)多了一個foxy文件。這個文件就是所需的crontab 文件。用more命令查看該文件的內(nèi)容可以發(fā)現(xiàn)文件頭有三行信息: #DO NOT EDIT THIS FILE -edit the master and reinstall. #(test.cron installed on Mon Feb 22 14:20:20 1999) #(cron version --$Id:crontab.c,v 2.13 1994/01/17 03:20:37 vivie Exp $) 大概意思是: #切勿編輯此文件——如果需要改變請編輯源文件然后重新安裝。 #test.cron文件安裝時間:14:20:20 02/22/1999 如果需要改變其中的命令內(nèi)容時,還是需要重新編輯原來的文件,然后再使用crontab命令安裝。 可以使用crontab命令的用戶是有限制的。如果/etc/cron.allow文件存在,那么只有其中列出的用戶才能使用該命令;如果該文件不存在但 cron.deny文件存在,那么只有未列在該文件中的用戶才能使用crontab命令;如果兩個文件都不存在,那就取決于一些參數(shù)的設置,可能是只允許 超級用戶使用該命令,也可能是所有用戶都可以使用該命令。 crontab命令的語法格式如下: crontab [-u user] file crontab [-u user]{ -l|-r|-e }   第一種格式用于安裝一個新的crontab 文件,安裝來源就是file所指的文件,如果使用“-”符號作為文件名,那就意味著使用標準輸入作為安裝來源。 -u 如果使用該選項,也就是指定了是哪個具體用戶的crontab 文件將被修改。如果不指定該選項,crontab 將默認是操作者本人的crontab ,也就是執(zhí)行該crontab 命令的用戶的crontab 文件將被修改。但是請注意,如果使用了su命令再使用crontab 命令很可能就會出現(xiàn)混亂的情況。所以如果是使用了su命令,最好使用-u選項來指定究竟是哪個用戶的crontab文件。 -l 在標準輸出上顯示當前的crontab。 -r 刪除當前的crontab文件。 -e 使用VISUAL或者EDITOR環(huán)境變量所指的編輯器編輯當前的crontab文件。當結(jié)束編輯離開時,編輯后的文件將自動安裝。 [例7] # crontab -l #列出用戶目前的crontab。 10 6 * * * date 0 */2 * * * date 0 23-7/2,8 * * * date # 在crontab文件中如何輸入需要執(zhí)行的命令和時間。該文件中每行都包括六個域,其中前五個域是指定命令被執(zhí)行的時間,最后一個域是要被執(zhí)行的命令。每 個域之間使用空格或者制表符分隔。格式如下: minute hour day-of-month month-of-year day-of-week commands 第一項是分鐘,第二項是小時,第三項是一個月的第幾天,第四項是一年的第幾個月,第五項是一周的星期幾,第六項是要執(zhí)行的命令。這些項都不能為空,必須填 入。如果用戶不需要指定其中的幾項,那么可以使用*代替。因為*是統(tǒng)配符,可以代替任何字符,所以就可以認為是任何時間,也就是該項被忽略了。在表4-1 中給出了每項的合法范圍。   表4-1 指定時間的合法范圍 時間 合法值 minute 00-59 hour 00-23,其中00點就是晚上12點 day-of-month 01-31 month-of-year 01-12 day-of-week 0-6,其中周日是0   這樣用戶就可以往crontab 文件中寫入無限多的行以完成無限多的命令。命令域中可以寫入所有可以在命令行寫入的命令和符號,其他所有時間域都支持列舉,也就是域中可以寫入很多的時間 值,只要滿足這些時間值中的任何一個都執(zhí)行命令,每兩個時間值中間使用逗號分隔。 [例8] 5,15,25,35,45,55 16,17,18 * * * command 這就是表示任意天任意月,其實就是每天的下午4點、5點、6點的5 min、15 min、25 min、35 min、45 min、55 min時執(zhí)行命令。 [例9] 在每周一,三,五的下午3:00系統(tǒng)進入維護狀態(tài),重新啟動系統(tǒng)。那么在crontab 文件中就應該寫入如下字段: 00 15 * * 1,3,5 shutdown -r +5 然后將該文件存盤為foxy.cron,再鍵入crontab foxy.cron安裝該文件。 [例10] 每小時的10分,40分執(zhí)行用戶目錄下的innd/bbslin這個指令: 10,40 * * * * innd/bbslink [例11] 每小時的1分執(zhí)行用戶目錄下的bin/account這個指令: 1 * * * * bin/account [例12] 每天早晨三點二十分執(zhí)行用戶目錄下如下所示的兩個指令(每個指令以;分隔): 20 3 * * * (/bin/rm -f expire.ls logins.bad;bin/expire>expire.1st) [例13] 每年的一月和四月,4號到9號的3點12分和3點55分執(zhí)行/bin/rm -f expire.1st這個指令,并把結(jié)果添加在mm.txt這個文件之后(mm.txt文件位于用戶自己的目錄位置)。 12,55 3 4-9 1,4 * /bin/rm -f expire.1st>>mm.txt [例14] 我們來看一個超級用戶的crontab文件: #Run the ‘a(chǎn)trun’ program every minutes #This runs anything that’s due to run from ‘a(chǎn)t’.See man ‘a(chǎn)t’ or ‘a(chǎn)trun’. 0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/lib/atrun 40 7 * * * updatedb 8,10,22,30,39,46,54,58 * * * * /bin/sync

    posted on 2005-05-24 11:06 子玉 閱讀(424) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    <2005年5月>
    24252627282930
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    常用鏈接

    留言簿(7)

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲免费闲人蜜桃| 免费观看91视频| 日本特黄特色aa大片免费| 亚洲a级片在线观看| 毛片免费视频观看| 亚洲日本在线电影| 国产精品免费播放| 日韩免费码中文在线观看| 亚洲国产精品一区二区九九| 亚洲国产精品无码中文lv| 成人免费毛片观看| 亚洲av无码片vr一区二区三区| 国产小视频在线观看免费| 男女猛烈激情xx00免费视频| 免费v片视频在线观看视频| 污污污视频在线免费观看| 亚洲午夜精品一级在线播放放| 深夜久久AAAAA级毛片免费看| 2048亚洲精品国产| 两个人看的www高清免费视频| 亚洲av日韩av高潮潮喷无码| 中国xxxxx高清免费看视频| 亚洲香蕉在线观看| 亚洲福利在线播放| 久久免费国产精品一区二区| 亚洲大片免费观看| 国产在线播放免费| 成人免费区一区二区三区| 亚洲国产精品久久人人爱| 男女啪啪永久免费观看网站| 久久精品免费网站网| 亚洲精品视频在线免费| 日韩一区二区三区免费体验| caoporn成人免费公开| 亚洲性无码av在线| 四虎影在线永久免费四虎地址8848aa| 久久精品成人免费国产片小草| 亚洲国产成人无码av在线播放| 国产成人在线观看免费网站| 在线观看肉片AV网站免费| 亚洲精品无播放器在线播放|