温馨提示×

tomcat日志满debian怎么清

小樊
45
2026-10-07 05:16:59
栏目: 智能运维

在 Debian 上清理 Tomcat 日志一般分几种情况,下面按常见场景给你说明。


一、Tomcat 日志在哪里(默认)

通常位于:

/var/log/tomcat9/        # Debian 默认 tomcat9
/var/lib/tomcat9/logs/   # 软链接或实际目录

常见日志文件:

  • catalina.out
  • catalina.YYYY-MM-DD.log
  • localhost.YYYY-MM-DD.log
  • host-manager.log
  • manager.log

二、安全清理方式(推荐)

1️⃣ 先确认磁盘占用

df -h
du -sh /var/log/tomcat9/*

2️⃣ 清空日志(不删文件,推荐)

Tomcat 正在写日志,直接 rm 可能导致不重新生成

sudo sh -c '> /var/log/tomcat9/catalina.out'
sudo sh -c '> /var/log/tomcat9/catalina.YYYY-MM-DD.log'

或者一次性清空所有:

sudo find /var/log/tomcat9 -type f -exec sh -c '> {}' \;

3️⃣ 删除旧的日期日志(可删)

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

或保留最近 7 天:

sudo find /var/log/tomcat9 -name "*.log" -mtime +7 -delete

三、让 Tomcat 自动清理(最佳实践)

方法 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 写文件失败

测试:

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

方法 2:Tomcat 自带日志控制(logging.properties)

sudo nano /var/lib/tomcat9/conf/logging.properties

可限制大小或关闭多余日志(不推荐新手改太多)


四、如果磁盘已经 100%

紧急释放:

sudo sh -c '> /var/log/tomcat9/catalina.out'
sudo systemctl restart tomcat9

五、总结建议

✅ 正确做法:

  • 不要直接 rm catalina.out
  • 用 > file 清空
  • 用 logrotate 自动管理

❌ 错误做法:

  • 直接删除正在写入的日志
  • 长期不清理

如果你告诉我:

  • Tomcat 版本(8 / 9 / 10)
  • 日志路径
  • 是否 Docker

我可以给你更精确的清理方案。

0 踩