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
手动执行。