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

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

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

    ~怪^_*獸~

    虛榮鎖身軀 心靈給酒醉 脆弱人類 懶問何為對
    (怪獸樂園Q群:75375912

    常用鏈接

    統計

    最新評論

    跨平臺日志清理工具 Log-Cutter v2.0.1 正式發布

        Log-Cutter 是JessMA開源組開發的一個簡單實用的日志切割清理工具。對于服務器的日常維護來說,日志清理是非常重要的事情,如果殘留日志過多則嚴重浪費磁盤空間同時影響服務的性能。如果用手工方式進行清理,會花費太多時間,并且很多時候難以滿足實際要求。例如:如何在每個星期六凌晨3點把超過 2G 大的日志文件進行切割,保留最新的 100M 日志記錄? 網上沒有發現能滿足本座要求的日志切割工具,因此花了一些閑暇時間自己寫了一個。由于要在多個平臺上使用,為了方便采用 Java 實現。本工具命名為 Log-Cutter,主要有以下特點:

    1. 支持 Linux、Mac 和 Windows 等所有常見操作系統平臺
    2. 支持命令行交互式運行
    3. 支持后臺非交互式運行(Linux/MAC 下使用 daemon 進程實現,Windows 用系統 Service 實現)
    4. 支持三種日志清理方式(刪除日志文件、切割日志文件或歸檔日志文件)
    5. 支持對 GB18030、UTF-8、UTF-16LE、UTF-16BE 等常用日志文件類型進行切割
    6. 高度可配置(程序執行周期、要刪除的日志文件過期時間、要切割的日志文件閥值和保留大小等均可配置

    Log-Cutter 官方網站:http://www.jessma.org
    Log-Cutter 下載地址:http://www.oschina.net/p/log-cutter

    一、環境要求
    --------------------------------------------------
    1) Java 版 本: JDK / JRE 1.6 以上
    2) 依賴程序包: dom4j、log4j、ant、juniversalchardet
    --------------------------------------------------

    二、配置文件
    --------------------------------------------------
    1) 程序配置文件: conf/config.xml (默認)
        (示例參考:conf/config-template.xml)
    2) 日志配置文件: conf/log4j.properties (默認)
        (示例請參考:conf/log4j.properties)
    --------------------------------------------------

    三、安裝部署
    (注 :LogCutter 需要配置 ‘JAVA_HOME’ / ‘JRE_HOME’ 和 ‘CLASSPATH’ 系統環境變量)
    --------------------------------------------------
    1) 配置系統環境變量 ‘JAVA_HOME’(或 ‘JRE_HOME’) 和 ‘CLASSPATH’
    2) 在 LogCutter配置文件(默認:conf/config.xml)中配置清理規則
    3) 啟動 LogCutter
    --------------------------------------------------

    四、啟動方式
    --------------------------------------------------
    1) Windows
        A) 前臺運行: > run.bat [ -f config-file ]
        
        B) 后臺運行: > LogCutter.exe    {    
                                        -install-demand  (安裝手動啟動服務)
                                        -install-auto    (安裝自動啟動服務)
                                        -uninstall       (刪除服務)
                                        -start           (啟動服務)
                                        -stop            (停止服務)
                                        -status          (查看服務狀態)
                                    }

        *** 注 *** 
            @ LogCutter.exe 以 Windows 系統服務的方式運行,安裝好后也可以通過 Windows 服務管理器進行管理
            @ LogCutter.exe 是 32 位程序,LogCutter_x64.exe 是 64 位程序,根據當前系統平臺使用其中之一

        C) 單次運行: > run.bat -1 [ -f config-file ]

    2) Linux / Unix
        A) 前臺運行: $ run.sh [ -f config-file ]
        B) 后臺運行: $ run.sh [ -f config-file ] -d
        C) 單次運行: $ run.sh -1 [ -f config-file ] [ -d ]

        *** 注 ***
            @ 可以把 run.sh 啟動命令加入 /etc/rc.d/rc.local 中,從而設置為開機時自動運行
    --------------------------------------------------

    詳細說明與使用方法參考:《操作指南

    •  配置文件 
    <?xml version="1.0" encoding="UTF-8"?>
    <CONFIG    xmlns="http://www.jessma.org"
            xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation
    ="http://www.jessma.org http://www.jessma.org/schema/log-cutter-cfg-2.0.xsd">
        <global>
            <!-- 開始日志檢查延時 (小時), 默認: 0 (立刻開始)
            
                1) 當指定為一個整數值時,執行器首次啟動延時時間為該值設定的小時數

                    (例如:12 小時后首次啟動執行器)
                    <start-check-delay>12</start-check-delay>
                    
                2) 當指定為一個 ‘hh:mm’ 格式的值時,執行器首次啟動時間為該時分值

                    (例如:12 點 34 分首次啟動執行器,如果當前時間超過 12 點 34 分則在明天的 12 點 34 分首次啟動執行器)
                    <start-check-delay>12:34</start-check-delay>
            
    -->
            <!-- 02 點 30 分首次啟動執行器 -->
            <start-check-delay>02:30</start-check-delay>
            <!-- 日志檢查間隔 (小時), 默認: 72 -->
            <check-interval></check-interval>
            <!-- Log4J 配置文件, 默認: ${CLASS_ROOT}/../conf/log4j.properties -->
            <log4j-config-file></log4j-config-file>
            <!-- 進程鎖文件, 默認: ${CLASS_ROOT}/../${APP_NAME}.lock -->
            <lock-file></lock-file>
        </global>
        
        <!-- 要刪除的日志文件列表(可配置多個,由 DelFileRunner 執行)
            1) DelFileRunner 會遞歸刪除符合條件的文件夾及其中的所有文件
            2) 注意:在判斷是否刪除文件夾時,檢測的是文件夾的最后修改時間,而不是其中文件的最后修改時間
            3) DelFileRunner 適用于清理 “定期產生新日志文件” 的應用程序日志
        
    -->
        <!-- delete-files.expire: 日志文件過期時間(天), 默認: 90 -->
        <delete-files expire="30">
            <!-- file.path: 文件所在目錄, 必須填寫, 不能包含通配符 -->
            <!-- file: 文件或文件夾名稱, 必須填寫, 可包含通配符 -->
            <file path="/opt/LogCutter/logs">LogCutter.log*</file>
            <file path="/opt/hMailServer/Logs">*.log</file>
            <file path="/opt/tomcat-6.0/logs">*.log</file>
        </delete-files>
        <delete-files expire="365">
            <file path="~/backup">*</file>
        </delete-files>
        
        <!-- 要截斷的日志文件列表(可配置多個,由 CutFileRunner 執行)
            1) CutFileRunner 只會掃描符合條件的文件,不會掃描文件夾
            2) CutFileRunner 會截斷文件的前部內容,保留后部內容
            3) CutFileRunner 適用于清理 “日志文件不斷追加增長” 的應用程序日志
        
    -->
        <!-- cut-files.threshold:    日志文件截斷閥值(KB), 默認: 10240 -->
        <!-- cut-files.reserve:        日志文件保留內容(KB), 默認: 1024 -->
        <!--
             <!注!> 'cut-files.reserve' 是保留內容的近似值, 實際內容按行取整保留
                如下列日志文件內容:
                      
                     line1: xxxxxxxxxxxxxxxxxxxxx
                     line2: xxxxxxxxxxPyyyyyyyyyy
                     line3: zzzzzzzzzzzzzzzzzzzzz
                     line4: zzzzzzzzzzzzzzzzzzzzz
                        (EOF)
                 'P'為定位得到的保留起點, 程序實際會在'P'點開始查找下一個換行符,
                 從該換行符的后一個字符開始保留, 也就是從第三行開始保留到文件末尾
        
    -->
        <cut-files threshold="10240" reserve="512">
            <file path="/opt/apache-2.2/logs">*.log</file>
            <file path="/opt/mysql-server-5.1/data">*.err</file>
        </cut-files>
        
        <!-- 要歸檔的日志文件列表(可配置多個,由 ArcFileRunner 執行)
            1) ArcFileRunner 把符合條件的文件或文件夾壓縮歸檔到指定目錄,并刪除原文件或文件夾
            2) 歸檔文件格式:{原文件/文件夾名稱}_{系統時間}.zip
            3) 注意:在判斷是否歸檔文件夾時,檢測的是文件夾的最后修改時間,而不是其中文件的最后修改時間
            4) ArcFileRunner 適用于清理 “定期產生新日志文件或日志目錄” 的應用程序日志
        
    -->
        <!-- archive-files.expire:            日志文件過期時間(天), 默認: 90 -->
        <!-- archive-files.archive-path:    日志文件歸檔目錄 -->
        <archive-files expire="120" archive-path="~/backup">
            <file path="/opt/mysql-server-5.1/data">mysql-bin.*</file>
        </archive-files>
    </CONFIG>

    Log-Cutter 2.0.1 更新:

    1、增加文件歸檔執行器 ArcFileRunner

        1) ArcFileRunner 把符合條件的文件或文件夾壓縮歸檔到指定目錄,并刪除原文件或文件夾
        2) 屬性 expire 指定歸檔到期時間,屬性 archive-path 指定歸檔目錄
        3) 歸檔文件格式:{原文件/文件夾名稱}_{系統時間}.zip

    <!-- 例如:下面的配置把最后修改時間超過 90 天的文件或文件夾歸檔到 ‘E:\backup’ 目錄 -->
    <archive-files archive-path="E:\backup" expire=90>
        
    <file path="X:\MyApp\logs">*</file>
        <file path="X:\nginx-1.4.1\logs">*.log</file>
    </archive-files>

    2、支持多組文件清理策略

        1) config.xml 可以配置多項 <delete-files>、<cut-files> 或 <archive-files>
        2) 不同的配置項可以使用不同的清理策略參數

    <!-- 例如:下面配置的兩組歸檔清理策略中,分別指定不同的歸檔到期時間和歸檔目錄 -->
    <archive-files archive-path="E:\backup" expire=90>
        
    <file path="X:\MyApp\logs">*</file>
        <file path="X:\nginx-1.4.1\logs">*.log</file>
    </archive-files>
    <archive-files archive-path="E:\backup2" expire=300>
        
    <file path="X:\MyApp2\logs">*</file>
        <file path="X:\Tomcat-6\logs">*.log</file>
    </archive-files>

    3、文件刪除執行器 DelFileRunner 支持遞歸刪除文件夾

        1) DelFileRunner 會遞歸刪除符合條件的文件夾及其中的所有文件
        2) 注意:在判斷是否刪除文件夾時,檢測的是文件夾的最后修改時間,而不是其中文件的最后修改時間

    <!-- 例如:下面的配置會刪除 logs 目錄下所有最后修改時間超過 90 天的文件或文件夾 -->
    <delete-files expire=90>
        
    <file path="X:\MyApp\logs">*</file>
    </delete-files>

    4、執行器首次啟動延時配置 ‘<start-check-delay>’ 支持指定絕對時間

        1) 當指定為一個整數值時,執行器首次啟動延時時間為該值設定的小時數
        2) 當指定為一個 ‘hh:mm’ 格式的值時,執行器首次啟動時間為該時分值

    <!--(例如)-->
    <!-- 12 小時后首次啟動執行器 -->
    <start-check-delay>12</start-check-delay>
    <!-- 12 點 34 分首次啟動執行器,如果當前時間超過 12 點 34 分則在明天的 12 點 34 分首次啟動執行器 -->
    <start-check-delay>12:34</start-check-delay>

    5、增加單次運行模式(running-only-once mode)

        1) 在單次運行模式下,LogCutter 在啟動時立刻運行所有執行器,當所有執行器運行完畢后退出程序
        2) 單次運行模式可避免 LogCutter 作為常駐進程一直運行,配合 CronTab 等任務調度器一起使用則能達到定時清理的目的
        3) 在單次運行模式下 運行 LogCutter 會忽略配置文件的 ‘start-check-delay’ 和 ‘check-interval’ 配置項
        4) 通過命令行參數 ‘-1’ 指示使用單次運行模式啟動 LogCutter

            (例如)
               Windows : > run.bat -1
            Unix/Linux : > run.sh -1 [ -d ]

    6、優化啟動腳本 run.sh / run.bat

        1) 只需配置好系統環境變量 ‘JAVA_HOME’(或 ‘JRE_HOME’) 和 ‘CLASSPATH’ 即可通過啟動腳本運行 LogCutter
        2) 啟動腳本接受命令行參數并傳遞到 LogCutter 程序中。其中 run.sh 通過額外的參數 ‘-d’ 指示后臺運行 LogCutter



    原文出處:怪獸的博客  怪獸的微博  怪獸樂園Q群

    posted on 2013-10-10 01:22 ~怪^_*獸~ 閱讀(1604) 評論(1)  編輯  收藏 所屬分類: 編程技術互聯網絡軟件設計

    評論

    # re: 跨平臺日志清理工具 Log-Cutter v2.0.1 正式發布 2013-10-10 10:43 魏五鎖業

    進來看看  回復  更多評論   

    主站蜘蛛池模板: 亚洲美女在线国产| 在线观看人成视频免费| 国产AV无码专区亚洲AVJULIA | 亚洲综合色成在线播放| 色天使色婷婷在线影院亚洲| 国内大片在线免费看| 亚洲免费网站观看视频| 国产美女无遮挡免费视频| 香蕉视频亚洲一级| 国产亚洲午夜高清国产拍精品| 久99久无码精品视频免费播放| 亚洲美女色在线欧洲美女| 无码av免费一区二区三区| 久久久综合亚洲色一区二区三区| 老司机69精品成免费视频| 久久精品国产亚洲av日韩| 免费三级毛片电影片| 在线看亚洲十八禁网站| 亚洲福利视频一区二区| 亚洲专区一路线二| 99精品全国免费观看视频| 国产精品亚洲一区二区在线观看| 亚洲精品国产精品乱码不卡| 在线成人精品国产区免费| 亚洲国产美女精品久久久久| 午夜免费福利网站| 国产黄在线播放免费观看| 亚洲宅男永久在线| 男女啪啪永久免费观看网站| 色婷婷精品免费视频| 情人伊人久久综合亚洲| 成人片黄网站A毛片免费| 又大又硬又粗又黄的视频免费看| 久久精品国产亚洲av四虎| 18禁超污无遮挡无码免费网站国产 | 亚洲毛片免费视频| 亚洲乱码中文字幕在线| 亚洲AV午夜成人片| 日美韩电影免费看| 久久99国产乱子伦精品免费| 久久亚洲精品高潮综合色a片|