溫馨提示×

如何解決Ubuntu Tomcat日志文件過大問題

小樊
46
2025-08-17 03:02:49
欄目: 智能運維

解決Ubuntu Tomcat日志文件過大問題,可采用以下方法:

  1. 使用logrotate進行日志輪轉

    • 安裝logrotate:sudo apt-get install logrotate
    • 編輯配置文件/etc/logrotate.d/tomcat,添加以下內容:
      /usr/local/tomcat/logs/catalina.out {
          daily
          rotate 7
          compress
          missingok
          notifempty
          copytruncate
      }
      
      daily表示每天輪轉,rotate 7保留7天日志,compress壓縮舊日志,copytruncate清空原文件而不刪除)
    • 測試配置:sudo logrotate -d /etc/logrotate.d/tomcat,確認無誤后重啟Tomcat。
  2. 切換至Log4j日志框架

    • 下載log4j-1.2.17.jartomcat-juli-adapters.jar,放入Tomcat的lib目錄。
    • 修改conf/logging.properties,配置日志文件路徑、大小及保留天數,例如:
      catalina.org.apache.juli.FileHandler.limit=10MB
      catalina.org.apache.juli.FileHandler.count=7
      
    • 重啟Tomcat生效。
  3. 使用cronolog工具切割日志

    • 安裝cronolog:sudo apt-get install cronolog
    • 修改bin/catalina.sh,將日志輸出指向cronolog,例如:
      CATALINA_OUT="$CATALINA_BASE/logs/catalina.%Y-%m-%d.out"
      exec "$_RUNJAVA" ... | /usr/local/sbin/cronolog "$CATALINA_OUT" &
      
    • 重啟Tomcat。
  4. 定期清理日志腳本

    • 創建清理腳本clear_tomcat_logs.sh
      #!/bin/bash
      LOG_PATH="/usr/local/tomcat/logs"
      find "$LOG_PATH" -mtime +7 -name "*.log" -exec rm -rf {} \;
      echo "" > "$LOG_PATH/catalina.out"
      
    • 賦予執行權限并添加定時任務(如每天凌晨執行):
      sudo chmod +x clear_tomcat_logs.sh
      sudo crontab -e,添加0 0 * * * /path/to/clear_tomcat_logs.sh。

注意:操作前建議備份重要日志,生產環境建議優先使用logrotate或Log4j,避免日志丟失影響故障排查。

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