在 Ubuntu 上轮转 Tomcat 日志,常见有 三种方式,最推荐的是 logrotate(系统级、标准、自动)。下面按实用程度说明。
Ubuntu 自带 logrotate,Tomcat 日志(catalina.out、localhost.log 等)都适合用它。
sudo nano /etc/logrotate.d/tomcat
示例(适用于默认 Tomcat 安装):
/var/log/tomcat*/catalina.out
/var/log/tomcat*/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
copytruncate
}
daily:每天轮转rotate 14:保留 14 份compress:压缩旧日志copytruncate:拷贝后清空原文件(Tomcat 不重启也能用)notifempty:空文件不轮转sudo logrotate -d /etc/logrotate.d/tomcat
sudo logrotate -f /etc/logrotate.d/tomcat
Tomcat 使用 java.util.logging:
/etc/tomcat9/logging.properties
特点:
catalina.log所以 catalina.out 必须用 logrotate 或脚本
0 0 * * * /opt/tomcat/bin/catalina.sh stop && mv logs/catalina.out logs/catalina.out.$(date +%F) && /opt/tomcat/bin/catalina.sh start
⚠️ 会重启 Tomcat,不适合生产
✅ logrotate + copytruncate
✅ 不重启 Tomcat
✅ Ubuntu 原生支持
如果你用的是:
可以告诉我,我可以给你对应版本的配置。