溫馨提示×

如何清理Tomcat歷史日志

小樊
38
2025-08-02 06:36:32
欄目: 智能運維

清理Tomcat歷史日志可以通過以下幾種方法進行:

手動清理

  1. 停止Tomcat服務: 在清理日志之前,請確保Tomcat服務已經停止,以避免數據丟失或文件損壞的風險。

    sudo systemctl stop tomcat
    
  2. 刪除舊的日志文件: 使用 find 命令來查找并刪除舊的日志文件。例如,要刪除30天前的所有日志文件,可以使用以下命令:

    sudo find /path/to/tomcat/logs/ -type f -name "*.log" -mtime +30 -exec rm -rf {} \;
    sudo find /path/to/tomcat/logs/ -type f -name "*.txt" -mtime +30 -exec rm -rf {} \;
    
  3. 清空日志文件: 可以手動清空 catalina.out 文件:

    sudo echo "" > /path/to/tomcat/logs/catalina.out
    

使用腳本自動清理

  1. 創建清理腳本: 在Tomcat的 bin 目錄下創建一個名為 clean.sh 的腳本文件,內容如下:

    #!/bin/bash
    LOGS_PATH="/path/to/tomcat/logs"
    DAYS=30 # 可以根據需要修改天數
    
    # 復制 catalina.out 按日期命名
    cp $LOGS_PATH/catalina.out $LOGS_PATH/catalina.`date +%Y-%m-%d`.out
    
    # 清空 catalina.out
    echo "" > $LOGS_PATH/catalina.out
    
    # 刪除30天以前的日志文件
    find $LOGS_PATH -type f -name "catalina.*.out" -mtime +$DAYS -exec rm -rf {} \;
    find $LOGS_PATH -type f -name "localhost.*.log" -mtime +$DAYS -exec rm -rf {} \;
    find $LOGS_PATH -type f -name "localhost_access_log.*.txt" -mtime +$DAYS -exec rm -rf {} \;
    find $LOGS_PATH -type f -name "catalina.*.log" -mtime +$DAYS -exec rm -rf {} \;
    find $LOGS_PATH -type f -name "manager.*.log" -mtime +$DAYS -exec rm -rf {} \;
    find $LOGS_PATH -type f -name "host-manager.*.log" -mtime +$DAYS -exec rm -rf {} \;
    find $LOGS_PATH -type f -name "fileservice.log.*" -mtime +$DAYS -exec rm -rf {} \;
    
  2. 賦予腳本執行權限

    chmod +x $LOGS_PATH/clean.sh
    
  3. 設置定時任務: 使用 crontab -e 添加定時任務,例如每天凌晨執行清理腳本:

    0 0 * * * $LOGS_PATH/clean.sh
    

使用Logrotate進行日志輪轉

  1. 安裝Logrotate

    sudo apt-get install logrotate
    
  2. 配置Logrotate: 在 /etc/logrotate.d/ 目錄下創建或編輯Tomcat的日志輪轉配置文件,例如 tomcat

    /usr/local/tomcat/logs/catalina.out {
        daily rotate 7
        compress
        missingok
        notifempty
        copytruncate
    }
    
  3. 重新加載Logrotate配置

    sudo logrotate -f /etc/logrotate.conf
    

使用Log4j等日志框架

  1. 下載并配置Log4j: 下載 log4j-1.2.17.jartomcat-juli-adapters.jar,并將它們放置在Tomcat的 lib 目錄下。

  2. 修改 context.xml: 在Tomcat的 conf 目錄下找到 context.xml 文件,添加或修改以下配置:

    <Context>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/usr/local/tomcat/logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false" />
        <Jar path="/usr/local/tomcat/lib/log4j-1.2.17.jar" />
        <Jar path="/usr/local/tomcat/lib/tomcat-juli-adapters.jar" />
    </Context>
    
  3. 重啟Tomcat: 重啟Tomcat以使配置生效。

    sudo systemctl restart tomcat
    

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女