/usr/local/apache-tomcat-9.0.71/logs/catalina.out占用了118G

找到了!真正的"空间黑洞"就是:

📁 **/usr/local/apache-tomcat-9.0.71/logs/catalina.out ------ **一个 118GB 的 Tomcat 日志文件!

这是非常典型的 Tomcat 日志未轮转导致磁盘爆满 的问题。


✅ 立即释放空间:清空 catalina.out

🔥 安全清空日志(不中断 Tomcat 服务):

bash 复制代码
> /usr/local/apache-tomcat-9.0.71/logs/catalina.out

✅ 这条命令会清空文件内容但保留文件句柄 ,Tomcat 进程可以继续写入,服务完全不受影响。

或者(等效):

bash 复制代码
truncate -s 0 /usr/local/apache-tomcat-9.0.71/logs/catalina.out

📊 清理后验证

bash 复制代码
# 查看日志是否已清空
ls -lh /usr/local/apache-tomcat-9.0.71/logs/catalina.out

# 查看磁盘空间是否释放
df -h

你应该会看到:

  • catalina.out 大小变为 0
  • / 分区可用空间从 ~458M 增加到 100GB+

🔒 防止再次爆盘:配置 Tomcat 日志轮转

✅ 方法1:使用 logrotate(推荐)

创建配置文件:

bash 复制代码
cat > /etc/logrotate.d/tomcat <<EOF
/usr/local/apache-tomcat-9.0.71/logs/catalina.out {
    copytruncate
    daily
    rotate 7
    compress
    missingok
    size 100M
}
EOF
  • copytruncate:先复制日志再清空原文件,避免 Tomcat 写入中断
  • size 100M:当日志超过 100MB 就轮转
  • rotate 7:保留最近 7 个日志文件
  • compress:自动压缩旧日志(.gz)

✅ 方法2:禁用 catalina.out(可选)

如果你不需要标准输出日志,可以在 Tomcat 启动脚本中重定向到 /dev/null。

编辑 bin/catalina.sh(不推荐直接改,建议通过 setenv.sh):

bash 复制代码
# 创建 setenv.sh(Tomcat 会自动加载)
echo 'CATALINA_OUT="/dev/null"' > /usr/local/apache-tomcat-9.0.71/bin/setenv.sh
chmod +x /usr/local/apache-tomcat-9.0.71/bin/setenv.sh

⚠️ 但这样会丢失 startup/shutdown 日志,一般建议用 logrotate 而非禁用。


🧹 补充建议

  1. 检查其他日志文件:

    bash 复制代码
    ls -lh /usr/local/apache-tomcat-9.0.71/logs/

    如果 localhost_access_log.*.txt 很大,也可考虑在 conf/server.xml 中关闭访问日志(或限制)。

  2. 重启 Tomcat(非必须) :

    清空 catalina.out 后不需要重启 ,但如果你刚配置了 logrotate,可等一天看是否生效。

  3. 监控磁盘:

    bash 复制代码
    # 添加一个 cron 每天检查
    echo "0 2 * * * df -h | mail -s 'Disk Usage' your@email.com" | crontab -

✅ 总结操作(复制粘贴即可)

bash 复制代码
# 1. 清空大日志
> /usr/local/apache-tomcat-9.0.71/logs/catalina.out

# 2. 配置自动轮转
cat > /etc/logrotate.d/tomcat <<EOF
/usr/local/apache-tomcat-9.0.71/logs/catalina.out {
    copytruncate
    daily
    rotate 7
    compress
    missingok
    size 100M
}
EOF

# 3. 验证
df -h
ls -lh /usr/local/apache-tomcat-9.0.71/logs/catalina.out

完成以上操作后,你的磁盘空间将立即释放 118GB+ ,系统恢复正常!

并且未来再也不会因 Tomcat 日志爆盘。

🎉 问题解决!

相关推荐
nvd1120 小时前
# 从 192 秒到 13 秒:Apache Flink 批处理极速调优实战记录
大数据·flink·apache
ZealSinger1 天前
Java虚拟线程上线后瓶颈转移到哪看三层
java·开发语言·firefox
众链网络2 天前
景区票务系统选型的技术尽调清单:从并发、数据到二次开发的 12 个必查项
apache·景区票务系统
AllData公司负责人3 天前
AllData数据中台物联网实时平台|集成 Apache StreamPipes,MQTT工业物联网数据实时预警实践案例
大数据·数据库·人工智能·物联网·apache·工业物联网·streampipes
王闯写bug4 天前
tomcat老版本下载tomcat8.5下载
java·tomcat
白帽攻防录4 天前
SRC 挖洞:Apache Tomcat 加密拦截器绕过深度复盘,CVE-2026-34486 fail-open 一行代码怎么打穿集群通信
java·网络安全·tomcat·apache
筑梦之路4 天前
Kafka KRaft 模式 Kubernetes 部署手册(StatefulSet + apache/kafka 官方镜像)——筑梦之路
kafka·kubernetes·apache
牧瀬クリスだ5 天前
Mybatis-Plus:让CRUD快如闪电
java·spring boot·spring·tomcat·mybatis·yml
晨小安5 天前
ThreadLocal及其内存泄漏问题深度解析
java·jvm·tomcat·哈希表
景熙55235 天前
JDBC 详解:从原理到实战(含完整可运行 Demo)
java·spring·tomcat·mybatis·jdbc