温馨提示×

怎样压缩debian tomcat日志

小樊
46
2026-10-18 23:11:21
栏目: 智能运维

在 Debian 上压缩 Tomcat 日志,常见有手动压缩、logrotate 自动压缩和Tomcat 自带滚动+压缩三种方式。下面按使用场景说明。


一、手动压缩(临时/简单)

Tomcat 日志一般在:

/var/log/tomcat9/
# 或
/opt/tomcat/logs/

1. 压缩单个日志

gzip catalina.out.2024-01-01.log

2. 批量压缩旧日志

cd /var/log/tomcat9
gzip *.log.*

压缩后原文件会被替换成 .gz


二、使用 logrotate(推荐 ✅)

Debian 默认带 logrotate,适合自动压缩+轮转。

1. 编辑或新建配置

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 直接截断日志(重要)

2. 测试配置

sudo logrotate -d /etc/logrotate.d/tomcat

3. 手动执行一次

sudo logrotate -f /etc/logrotate.d/tomcat

三、Tomcat 自身日志压缩(Access Log)

如果你用的是 AccessLogValve,可以开启压缩:

server.xml 示例

<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 还是二进制)/ 日志路径,我可以给你一份完全匹配的配置。

0 踩