Linux下Tomcat日志輪轉主要依賴logrotate工具,通過配置文件實現日志的定期切割、壓縮和刪除,核心策略如下:
logrotate(需安裝,部分系統默認已安裝)。/etc/logrotate.d/目錄下創建tomcat配置文件(如/etc/logrotate.d/tomcat9),指定日志路徑(如/var/log/tomcat9/*.log或/usr/local/tomcat/logs/catalina.out)。daily:按天輪轉(可改為weekly/monthly)。rotate 7:保留最近7個日志文件。compress:輪轉后壓縮為.gz格式。missingok:日志文件不存在時不報錯。notifempty:僅輪轉非空日志文件。copytruncate:復制原日志后截斷,避免重啟服務。size 100M(當日志文件≥100MB時觸發)。postrotate中重啟Tomcat或發送信號(如kill -USR1)確保日志重新寫入。logrotate默認通過cron每日自動執行,無需手動干預。示例配置(針對catalina.out):
/usr/local/tomcat/logs/catalina.out {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
配置后可通過logrotate -d /etc/logrotate.d/tomcat測試語法,或logrotate -f手動執行。