温馨提示×

debian tomcat日志怎么清

小樊
39
2026-09-07 08:56:33
栏目: 智能运维

在 Debian 上清理 Tomcat 日志,通常分手动清理自动轮转(推荐)彻底禁用/限制日志几种方式。下面以最常见的 Tomcat 8/9/10 为例说明。


一、Tomcat 日志在哪

默认路径一般是:

/var/log/tomcat9/

常见日志文件:

  • catalina.out(最主要,容易变大)
  • catalina.xxxx-xx-xx.log
  • localhost.xxxx-xx-xx.log
  • host-manager.*
  • manager.*
  • localhost_access_log.*.txt

二、手动清理(临时用)

1️⃣ 直接删除(不推荐生产)

sudo systemctl stop tomcat9
sudo rm -f /var/log/tomcat9/*
sudo systemctl start tomcat9

⚠️ 不要删除正在写入的 catalina.out 而不重启,否则可能写错文件。

2️⃣ 安全清空(推荐)

sudo truncate -s 0 /var/log/tomcat9/catalina.out

其他日志同理:

sudo truncate -s 0 /var/log/tomcat9/*.log

三、自动清理(推荐 ✅)

方法 1:logrotate(Debian 自带)

编辑配置:

sudo nano /etc/logrotate.d/tomcat9

示例内容:

/var/log/tomcat9/*.log
/var/log/tomcat9/catalina.out {
    daily
    missingok
    rotate 7
    compress
    notifempty
    copytruncate
}

说明:

  • copytruncate:不重启 Tomcat 也能清日志 ✅
  • rotate 7:保留 7 天

测试:

sudo logrotate -d /etc/logrotate.d/tomcat9

方法 2:Tomcat 自带日志轮转

编辑:

sudo nano /etc/tomcat9/logging.properties

示例:

1catalina.org.apache.juli.AsyncFileHandler.maxDays = 7

只保留 7 天日志(Tomcat 9+ 支持)


四、减少日志量(长期根本解决)

1️⃣ 调高日志级别

sudo nano /etc/tomcat9/logging.properties
.level = WARNING

2️⃣ 关闭 access log(可选)

编辑:

sudo nano /etc/tomcat9/server.xml

注释掉:

<!-- <Valve className="org.apache.catalina.valves.AccessLogValve" ... /> -->

五、一键清理脚本示例

#!/bin/bash
truncate -s 0 /var/log/tomcat9/catalina.out
find /var/log/tomcat9 -name "*.log" -mtime +7 -delete

六、总结建议

生产环境logrotate + copytruncate
临时处理truncate -s 0
不建议:直接 rm 正在写的日志

如果你用的是 Docker / systemd / 特定版本 Tomcat,可以告诉我,我给你定制方案。

0