• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            S.l.e!ep.¢%

            像打了激速一樣,以四倍的速度運轉,開心的工作
            簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            crontab文件的真實位置

            Posted on 2011-05-16 03:14 S.l.e!ep.¢% 閱讀(1378) 評論(0)  編輯 收藏 引用 所屬分類: Unix

            crontab文件的真實位置

            系統管理 2009-11-05 16:05:40 閱讀184 評論0 ??字號: ? 訂閱

            Linux在相應用戶下,用crontab -l 命令可以查看該用戶定時執行的任務,-e可以編輯,但是其真實文件在哪兒呢??
            以CentOS為例,其真實的位置在:/var/spool/cron下面,有執行定時任務的用戶將會有以該用戶命名的一個文檔,vim該文檔與用命令crontab -l看到的一樣。

            crontab命令

            crontab命令用于安裝、刪除或者列出用于驅動cron后臺進程的表格。也就是說,用戶把需要執行的命令序列放到crontab文件中以獲得執行。每個用戶都可以有自己的crontab文件。下面就來看看如何創建一個crontab文件。

            在/var/spool/cron下的crontab文件不可以直接創建或者直接修改。crontab文件是通過crontab命令得到的。現在假設 有個用戶名為foxy,需要創建自己的一個crontab文件。首先可以使用任何文本編輯器建立一個新文件,然后向其中寫入需要運行的命令和要定期執行的 時間。

            然后存盤退出。假設該文件為/tmp/test.cron。再后就是使用crontab命令來安裝這個文件,使之成為該用戶的crontab文件。鍵入:

            crontab test.cron

            這樣一個crontab 文件就建立好了。可以轉到/var/spool/cron目錄下面查看,發現多了一個foxy文件。這個文件就是所需的crontab 文件。用more命令查看該文件的內容可以發現文件頭有三行信息:

            #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

            如果需要改變其中的命令內容時,還是需要重新編輯原來的文件,然后再使用crontab命令安裝。

            可以使用crontab命令的用戶是有限制的。如果/etc/cron.allow文件存在,那么只有其中列出的用戶才能使用該命令;如果該文件不存 在但cron.deny文件存在,那么只有未列在該文件中的用戶才能使用crontab命令;如果兩個文件都不存在,那就取決于一些參數的設置,可能是只 允許超級用戶使用該命令,也可能是所有用戶都可以使用該命令。

            crontab命令的語法格式如下:

            crontab [-u user] file

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

            第一種格式用于安裝一個新的crontab 文件,安裝 淳褪莊ile所指的文件,如果使用“-”符號作為文件名,那就意味著使用標準輸入作為安裝來源。

            -u 如果使用該選項,也就是指定了是哪個具體用戶的crontab 文件將被修改。如果不指定該選項,crontab 將默認是操作者本人的crontab ,也就是執行該crontab 命令的用戶的crontab 文件將被修改。但是請注意,如果使用了su命令再使用crontab 命令很可能就會出現混亂的情況。所以如果是使用了su命令,最好使用-u選項來指定究竟是哪個用戶的crontab文件。

            -l 在標準輸出上顯示當前的crontab。

            -r 刪除當前的crontab文件。

            -e 使用VISUAL或者EDITOR環境變量所指的編輯器編輯當前的crontab文件。當結束編輯離開時,編輯后的文件將自動安裝。

            [例7]

            # crontab -l #列出用戶目前的crontab。

            10 6 * * * date

            0 */2 * * * date

            0 23-7/2,8 * * * date

            #

            在crontab文件中如何輸入需要執行的命令和時間。該文件中每行都包括六個域,其中前五個域是指定命令被執行的時間,最后一個域是要被執行的命令。每個域之間使用空格或者制表符分隔。格式如下:

            minute hour day-of-month month-of-year day-of-week commands

            第一項是分鐘,第二項是小時,第三項是一個月的第幾天,第四項是一年的第幾個月,第五項是一周的星期幾,第六項是要執行的命令。這些項都不能為空,必 須填入。如果用戶不需要指定其中的幾項,那么可以使用*代替。因為*是統配符,可以代替任何字符,所以就可以認為是任何時間,也就是該項被忽略了。在表 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 文件中寫入無限多的行以完成無限多的命令。命令域中可以寫入所有可以在命令行寫入的命令和符號,其他所有時間域都支持列舉,也就是域中可以寫入很多的時間 值,只要滿足這些時間值中的任何一個都執行命令,每兩個時間值中間使用逗號分隔。

            除了數字還有幾個個特殊的符號就是"*"、"/"和"-"、",",*代表所有的取值范圍內的數字,"/"代表每的意思,"*/5"表示每5個單位,"-"代表從某個數字到某個數字,","分開幾個離散的數字。幾個例子:

            每天早上6點

            0 6 * * * echo "Good morning." >> /tmp/test.txt //注意單純echo,從屏幕上看不到任何輸出,因為cron把任何輸出都email到root的信箱了。

            每兩個小時

            0 */2 * * * echo "Have a break now." >> /tmp/test.txt

            晚上11點到早上8點之間每兩個小時,早上八點

            0 23-7/2,8 * * * echo "Have a good dream:)" >> /tmp/test.txt

            每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點

            0 11 4 * 1-3 command line

            1月1日早上4點

            0 4 1 1 * command line


            SHELL=/bin/bash
            PATH=/sbin:/bin:/usr/sbin:/usr/bin
            MAILTO=root //如果出現錯誤,或者有數據輸出,數據作為郵件發給這個帳號
            HOME=/ //使用者運行的路徑,這里是根目錄
            # run-parts
            01 * * * * root run-parts /etc/cron.hourly //每小時執行/etc/cron.hourly內的腳本
            02 4 * * * root run-parts /etc/cron.daily //每天執行/etc/cron.daily內的腳本
            22 4 * * 0 root run-parts /etc/cron.weekly //每星期執行/etc/cron.weekly內的腳本
            42 4 1 * * root run-parts /etc/cron.monthly //每月去執行/etc/cron.monthly內的腳本



            大家注意"run-parts"這個參數了,如果去掉這個參數的話,后面就可以寫要運行的某個腳本名,而不是文件夾名了。  

            [例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時執行命令。

            [例9] 在每周一,三,五的下午3:00系統進入維護狀態,重新啟動系統。那么在crontab 文件中就應該寫入如下字段:

            00 15 * * 1,3,5 shutdown -r +5

            然后將該文件存盤為foxy.cron,再鍵入crontab foxy.cron安裝該文件。

            [例10] 每小時的10分,40分執行用戶目錄下的innd/bbslin這個指令:

            10,40 * * * * innd/bbslink

            [例11] 每小時的1分執行用戶目錄下的bin/account這個指令:

            1 * * * * bin/account

            [例12] 每天早晨三點二十分執行用戶目錄下如下所示的兩個指令(每個指令以;分隔):

            20 3 * * * (/bin/rm -f expire.ls logins.bad;bin/expire$#@62;expire.1st)

            [例13] 每年的一月和四月,4號到9號的3點12分和3點55分執行/bin/rm -f expire.1st這個指令,并把結果添加在mm.txt這個文件之后(mm.txt文件位于用戶自己的目錄位置)。

            12,55 3 4-9 1,4 * /bin/rm -f expire.1st$#@62;$#@62;mm.txt

            [例14] 我們來看一個超級用戶的crontab文件:

            #Run the ‘atrun’ program every minutes

            #This runs anything that’s due to run from ‘at’.See man ‘at’ or ‘atrun’.

            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
            日韩欧美亚洲综合久久影院Ds | 日本久久久久久久久久| 99久久无码一区人妻a黑| 亚洲成色WWW久久网站| 99精品国产综合久久久久五月天 | 九九99精品久久久久久| 久久99国产精品久久久| 免费精品99久久国产综合精品| 久久精品国产福利国产秒| 久久亚洲高清观看| 色婷婷久久久SWAG精品| 思思久久99热只有频精品66| 亚洲精品无码久久久影院相关影片| 欧美日韩精品久久免费| 久久精品无码一区二区无码| 久久精品aⅴ无码中文字字幕不卡| 久久精品一本到99热免费| 国产高清国内精品福利99久久| 久久一区二区三区99| 久久精品国产精品亚洲精品| 国产精品美女久久久久| 国产精品热久久毛片| 久久香综合精品久久伊人| 97精品伊人久久大香线蕉app| 一本大道加勒比久久综合| 中文字幕久久精品| 国产精品一区二区久久不卡| 久久丝袜精品中文字幕| 久久丫精品国产亚洲av| 久久艹国产| 丁香狠狠色婷婷久久综合| 四虎久久影院| 亚洲精品高清久久| 亚洲va久久久噜噜噜久久狠狠 | 久久久久亚洲AV无码专区首JN| 丁香五月网久久综合| 亚洲精品无码专区久久久| 久久精品亚洲欧美日韩久久| 91久久婷婷国产综合精品青草| 久久99热这里只有精品66| 国产精品欧美久久久久无广告 |