温馨提示×

怎样清理ubuntu tomcat日志

小樊
35
2026-08-31 11:22:45
栏目: 智能运维

在 Ubuntu 上清理 Tomcat 日志通常分为 临时清理长期自动清理 两种方式。下面按常见场景说明。


一、Tomcat 日志位置确认

通常 Tomcat 日志在下面目录之一:

/var/log/tomcat9/
/var/log/tomcat8/
/opt/tomcat/logs/
/usr/local/tomcat/logs/

常见日志文件:

catalina.out
catalina.2026-01-21.log
localhost.log
manager.log
host-manager.log
access_log

二、手动清理(临时)

1️⃣ 直接删除旧日志(不建议)

sudo rm -f /var/log/tomcat9/*.log
sudo rm -f /var/log/tomcat9/catalina.*

⚠️ 不建议删除正在写入的 catalina.out


2️⃣ 安全清空 catalina.out(推荐)

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

或:

sudo cp /dev/null /var/log/tomcat9/catalina.out

✅ 不会中断 Tomcat 运行


三、Tomcat 自带的日志清理(推荐)

方法 1:使用 cronologlogrotate

配置 logrotate(最常用 ✅)

Ubuntu 默认支持 logrotate

示例配置

sudo vim /etc/logrotate.d/tomcat9

内容示例:

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

参数说明:

参数 作用
daily 每天滚动
rotate 7 保留 7 份
compress 压缩旧日志
copytruncate 清空原文件
notifempty 空文件不处理

测试:

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

四、清理 Access Log(访问日志)

如果是 access_log

sudo rm -f /var/log/tomcat9/access_log*

或加入 logrotate:

/var/log/tomcat9/access_log.* {
    daily
    rotate 7
    compress
    missingok
    notifempty
}

五、排查日志过大的原因(重要)

1️⃣ 查看占用空间

du -sh /var/log/tomcat9

2️⃣ 找出最大文件

ls -lhS /var/log/tomcat9

3️⃣ 定位大量日志来源

tail -f /var/log/tomcat9/catalina.out

常见原因:

  • 未关闭 System.out.println
  • 异常被无限打印
  • 日志级别过低(DEBUG)

六、修改 Tomcat 日志级别

编辑:

sudo vim /opt/tomcat/conf/logging.properties

示例:

.level = INFO

或:

org.apache.catalina.level = WARNING

七、推荐方案 ✅(总结)

生产环境最佳实践

  • 使用 logrotate 自动清理
  • 不手动删除 catalina.out
  • 控制日志级别
  • 定期监控磁盘空间

如果你愿意,可以告诉我:

  • Tomcat 版本
  • 日志路径
  • 是否生产环境

我可以帮你 定制一份完整的清理方案

0