温馨提示×

ubuntu tomcat日志怎么清理

小樊
39
2026-09-15 18:02:24
栏目: 智能运维

在 Ubuntu 上清理 Tomcat 日志,常见做法有手动清理、定时任务、配置日志滚动几种。下面按常用程度给你说明。


一、Tomcat 日志在哪

默认路径一般是:

/var/log/tomcat9/      # Ubuntu 通过 apt 安装
# 或
/opt/tomcat/logs/      # 手动安装

主要日志文件:

  • catalina.out(最重要,容易变大)
  • catalina.YYYY-MM-DD.log
  • localhost.log
  • localhost_access_log.*.txt

二、手动清理(临时用)

# 查看大小
du -sh /var/log/tomcat9/*

# 清空 catalina.out(不删文件,避免 Tomcat 写错误)
> /var/log/tomcat9/catalina.out

# 删除旧日志
rm -f /var/log/tomcat9/*.log
rm -f /var/log/tomcat9/localhost_access_log.*

⚠️ 不要直接 rm catalina.out,否则 Tomcat 可能继续写已删除文件,磁盘不释放。


三、用 logrotate(推荐 ✅)

Ubuntu 自带 logrotate,适合长期管理。

1. 新建配置

sudo nano /etc/logrotate.d/tomcat

2. 示例配置

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

说明:

  • copytruncate:不重启 Tomcat 也能截断日志(很关键)
  • rotate 7:保留 7 天
  • compress:压缩旧日志

3. 测试

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

四、Tomcat 自带日志配置(可选)

如果是 catalina.out 太大:

使用 logging.properties 限制

编辑:

/etc/tomcat9/logging.properties

可减少控制台输出,或改用 java.util.logging


五、定时清理脚本(简单粗暴)

sudo crontab -e

每天凌晨清理 7 天前日志:

0 0 * * * find /var/log/tomcat9 -name "*.log" -mtime +7 -delete
0 0 * * * find /var/log/tomcat9 -name "catalina.out" -exec truncate -s 0 {} \;

六、推荐方案总结

生产环境:logrotate + copytruncate
临时处理> catalina.out
❌ 不推荐:直接 rm catalina.out


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

  • Tomcat 版本(8 / 9 / 10)
  • 安装方式(apt / 二进制)
  • 日志有多大

我可以帮你写一份精确可用的配置

0