在 Debian 上压缩 Tomcat 日志,常见有手动压缩、logrotate 自动压缩和Tomcat 自带滚动+压缩三种方式。下面按使用场景说明。
Tomcat 日志一般在:
/var/log/tomcat9/
# 或
/opt/tomcat/logs/
gzip catalina.out.2024-01-01.log
cd /var/log/tomcat9
gzip *.log.*
压缩后原文件会被替换成
.gz
Debian 默认带 logrotate,适合自动压缩+轮转。
sudo nano /etc/logrotate.d/tomcat
示例(Tomcat 9):
/var/log/tomcat9/catalina.out
/var/log/tomcat9/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
copytruncate
}
参数说明:
daily:每天轮转rotate 14:保留 14 天compress:启用 gzip 压缩copytruncate:不重启 Tomcat 直接截断日志(重要)sudo logrotate -d /etc/logrotate.d/tomcat
sudo logrotate -f /etc/logrotate.d/tomcat
如果你用的是 AccessLogValve,可以开启压缩:
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="access_log"
suffix=".log"
pattern="%h %l %u %t "%r" %s %b"
rotatable="true"
compress="true" />
compress="true"会生成.log.gz
find /var/log/tomcat9 -name "*.gz" -mtime +30 -delete
| 场景 | 推荐方式 |
|---|---|
| 生产环境 | logrotate + copytruncate |
| 临时处理 | gzip 手动压缩 |
| Access 日志 | Tomcat compress=true |
如果你告诉我 Tomcat 版本 / 安装方式(apt 还是二进制)/ 日志路径,我可以给你一份完全匹配的配置。