解決Ubuntu Tomcat日志文件過大問題,可采用以下方法:
使用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。切換至Log4j日志框架
log4j-1.2.17.jar和tomcat-juli-adapters.jar,放入Tomcat的lib目錄。conf/logging.properties,配置日志文件路徑、大小及保留天數,例如:catalina.org.apache.juli.FileHandler.limit=10MB
catalina.org.apache.juli.FileHandler.count=7
使用cronolog工具切割日志
sudo apt-get install cronologbin/catalina.sh,將日志輸出指向cronolog,例如:CATALINA_OUT="$CATALINA_BASE/logs/catalina.%Y-%m-%d.out"
exec "$_RUNJAVA" ... | /usr/local/sbin/cronolog "$CATALINA_OUT" &
定期清理日志腳本
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.shsudo crontab -e,添加0 0 * * * /path/to/clear_tomcat_logs.sh。注意:操作前建議備份重要日志,生產環境建議優先使用logrotate或Log4j,避免日志丟失影響故障排查。