• <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>

            逛奔的蝸牛

            我不聰明,但我會很努力

               ::  :: 新隨筆 ::  ::  :: 管理 ::
            今天在一個項目里面,遇到一個故障:系統在做基于Weblogic的OA系統壓力測試中,并發的連接數非常的少(大大低于正常數),系統是采用紅旗的DC 4.1 for 安騰2版本,使用apache做web服務轉發。
             后來經過一系列的檢查,最后發現原來是之前連續兩天的壓力測試,導致擺放日志的/var目錄20G的空間都給占滿了;導致新的日志需要不斷的覆蓋舊日志,磁盤的讀寫頻繁,導致IO占用過大,所以并發連接數不能滿足要求。清空日志文件即可。
             考慮到今后可能也會出現類似的問題(當然,現實中不可能幾天就達到測試的結果),所以希望使用定時刪除日志的方法。這里就考慮到需要使用linux的計劃任務,也叫例行性命令。
            1、循環執行的計劃任務
             linux下面有atdcrond兩種計劃任務,其中,atd服務使用的at命令只能執行一次,而crond服務使用的crontab定義的命令,是循環作用的,所以crond才符合我們的要求。
             crontab支持兩種狀態:一、直接編寫計劃任務;二、使用目錄的方式,放在目錄里面的都會定時執行。

            2、可以使用的用戶
             默認情況下,系統中可以登陸的用戶,都可以使用crontab定義計劃任務。不過,可以通過下面兩個文件限制權限:
            引用
            ◆/etc/cron.allow:
            將可以使用 crontab 的賬號寫入其中,若不在這個檔案內的使用者則不能使用 crontab;
            ◆/etc/cron.deny:
            將不可以使用 crontab 的賬號寫入其中,若未記錄到這個檔案當中的使用者,就可以使用 crontab 。

            ※類似TCPWrapper定義的方式。

            3、直接使用crontab編輯計劃任務:
            命令:
            crontab [-u username] [-l|-e|-r]
            參數:

            -u  :通過-u幫其它使用者建立/移除 crontab;
            -e  :編輯 crontab 的內容
            -l  :查看 crontab 的內容
            -r  :移除 crontab 的所有內容(是全部的內容,如果只是刪除某個,用-e編輯即可)

            內容格式:
            * *  *  *  * 命令
            前面的五個*號,表示分、時、日、月、周,如:
            代表意義 分鐘 小時 日期 月份 周 
            數字范圍 0-59 0-23 1-31 1-12 0-7
            *號代表任何時間都接受的意思,任意。
            *號之間用空格分開,如果是一段范圍,用-號連接;如果是隔開幾個時間,用,號表示。
            另外,命令必須是編寫計劃任務的用戶有權限執行的,并且最后用絕對路徑。

            例如:
            #crontab -e
            59 23 1 5 * mail linuxing < /home/test.txt
            每在5月1日,23點59分就把/home/test.txt的內容作為郵件發給linuxing用戶
            */5 * * * * /opt/test.sh
            每5分鐘就執行一次/opt/test.sh腳本
            0 3,6 * * * /usr/local/bin/test.sh
            每在3點和6點整點都執行/usr/local/bin/test.sh命令
            0 8-12 * * * /root/backup.sh
            8 點到 12 點之間的每小時的0分都執行/root/backup.sh


            4、基于目錄的方式執行計劃任務
             對于系統的計劃任務,已經在/etc/crontab里面定義,采用的就是基于目錄的方式。系統會定時讀取該文件,并根據里面的定義執行命令。
             可以使用vi直接編寫/etc/crontab文件,其中格式如下:
            #cat /etc/crontab
            SHELL=/bin/bash  #使用的shell
            PATH=/sbin:/bin:/usr/sbin:/usr/bin  #預定義的PATH路徑
            MAILTO=root   #出現問題發Email給該用戶
            HOME=/  #家目錄

            # run-parts
            01 * * * *   root      run-parts /etc/cron.hourly     #每小時的目錄
            02 4 * * *   root      run-parts /etc/cron.daily       #每天
            22 4 * * 0   root      run-parts /etc/cron.weekly    #每周日
            42 4 1 * *   root      run-parts /etc/cron.monthly   #每個月1號
            分 時 日 月 周 執行者身份  命令


             可以看到前面的五個參數的定義和直接編輯計劃任務是一樣的,增加了執行的用戶定義和run-parts參數。
             run-parts后面跟的是目錄名稱,例如:/etc/cron.hourly,表示每小時01分就到/etc/cron.hourly目錄中執行目錄下的所有可執行文件;當然,目錄是可以自己定義的。
             如果你需要增加系統的計劃任務,只需要在對應的目錄添加執行文件即可,例如:我需要在每天都執行updatedb的操作,則我只需要把/usr/bin/updatedb的執行命令鏈接到/etc/cron.daily目錄就可以了。

            ※同樣的,如果不需要使用目錄的方式,也可以使用如下的方式:
            02 01 * * *   root     /root/test.sh
            也就是沒有了run-parts,后面就直接跟命令的絕對路徑


            5、注意事項
            ◆如果使用crontab編輯計劃任務或直接修改/etc/crontab文件后,計劃任務沒有生效,可能需要重啟一下crond服務:service crond restart
            ◆當編寫/etc/crontab文件的時候,不要漏了指定執行計劃任務的用戶,這是和直接用crontab -e編輯不同的。
            ◆某用戶(如root)用crontab -e編輯的計劃任務存放在/var/spool/cron/root,這個文件下。但最好不要直接編輯他,因為crond執行的時候,會在/tmp目錄中建立需要的臨時文件,直接編輯會對此有影響,甚至出錯。
            ◆cron執行的每一項工作都會被紀錄到/var/log/cron這個日志文件中,可以從這個文件查看命令執行的狀態。

            From: http://www.linuxfly.org/post/11/

            1 執行時間

            分 時 日 月 天每星期
            如果不需要指定的地方,可以用 * 來代表,否則就是指定的
            也可以使用 */10 指定每10個單位

            比如 */10 * * * * 表示每10分鐘執行一次

            引用
            任務調度設置文件的寫法
            其格式如下:
            Minute Hour Day Month Dayofweek command
            分鐘 小時 天 月 天每星期 命令



            每個字段代表的含義如下:
            Minute 每個小時的第幾分鐘執行該任務
            Hour 每天的第幾個小時執行該任務
            Day 每月的第幾天執行該任務
            Month 每年的第幾個月執行該任務
            DayOfWeek 每周的第幾天執行該任務
            Command 指定要執行的程序
            在這些字段里,除了“Command”是每次都必須指定的字段以外,其它字段皆為可選字段,可視需要決定。對于不指定的字段,要用“*”來填補其位置。

            舉例如下:
            1、指定每小時的第5分鐘執行一次ls命令
            5 * * * * ls

            2、指定每天的 5:30 執行ls命令
            30 5 * * * ls

            3、指定每月8號的7:30分執行ls命令
            30 7 8 * * ls

            4、指定每年的6月8日5:30執行ls命令
            30 5 8 6 * ls

            5、指定每星期日的6:30執行ls命令
            30 6 * * 0 ls
            注:0表示星期天,1表示星期1,以此類推,也可以用英文來表示,sun表示星期天,mon表示星期一等。

            6、每月10號及20號的3:30執行ls命令
            30 3 10,20 * * ls
            注:“,”用來連接多個不連續的時段

            7、每天8-11點的第25分鐘執行ls命令
            25 8-11 * * * ls
            注:“-”用來連接連續的時段

            8、每15分鐘執行一次ls命令
            */15 * * * * ls
            即每個小時的第0 15 30 45 60分鐘執行ls命令 

            9、每個月中,每隔10天6:30執行一次ls命令
            30 6 */10 * * ls
            即每月的1、11、21、31日是的6:30執行一次ls命令。

            10、每天7:50以root 身份執行/etc/cron.daily目錄中的所有可執行文件
            50 7 * * * root run-parts /etc/cron.daily
            注:run-parts參數表示,執行后面目錄中的所有可執行文件。
            From: http://blog.csdn.net/xrt95050/archive/2009/03/11/3980567.aspx
            posted on 2009-11-13 19:21 逛奔的蝸牛 閱讀(5056) 評論(0)  編輯 收藏 引用 所屬分類: Mac
            精品久久久久一区二区三区| 国内精品久久九九国产精品| 日韩AV毛片精品久久久| 久久影院久久香蕉国产线看观看| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | a高清免费毛片久久| 一本一道久久精品综合| 久久久久久久综合狠狠综合| 久久精品亚洲日本波多野结衣 | 国产精品九九久久免费视频| 色天使久久综合网天天| 好属妞这里只有精品久久| 久久毛片一区二区| 超级碰久久免费公开视频| 国产aⅴ激情无码久久| 99久久夜色精品国产网站| 无码伊人66久久大杳蕉网站谷歌 | 日本免费久久久久久久网站 | 久久精品国产网红主播| 伊人久久大香线蕉精品不卡| 日本免费一区二区久久人人澡| 精品综合久久久久久98| 色诱久久av| 亚洲精品综合久久| 国产精品久久久久乳精品爆| 国产精品久久波多野结衣| 久久丫精品国产亚洲av| 中文字幕久久亚洲一区| 一本色道久久综合狠狠躁篇| 国内精品久久久久国产盗摄| 青青青国产精品国产精品久久久久 | 精品久久久久久国产潘金莲| 中文字幕人妻色偷偷久久| 一级A毛片免费观看久久精品| 久久久久99精品成人片三人毛片| 久久综合久久综合九色| 色综合久久中文综合网| 香蕉久久一区二区不卡无毒影院| 狠狠色丁香婷婷久久综合不卡| 91精品国产综合久久精品| 夜夜亚洲天天久久|