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

宝塔 Apache 部署 Node.js 项目:挂到子路径,不影响同机其他站点 阅读详情

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

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

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


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

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

> /usr/local/apache-tomcat-9.0.71/logs/catalina.out

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

或者(等效):

truncate -s 0 /usr/local/apache-tomcat-9.0.71/logs/catalina.out

📊 清理后验证

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

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

你应该会看到:

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

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

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

创建配置文件:

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):

# 创建 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. 检查其他日志文件:

    ls -lh /usr/local/apache-tomcat-9.0.71/logs/
    

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

  2. 重启 Tomcat(非必须):
    清空 catalina.out 后不需要重启,但如果你刚配置了 logrotate,可等一天看是否生效。

  3. 监控磁盘:

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

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

# 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 日志爆盘。

🎉 问题解决!

运维项目—K8S命令 工作内容,不对外开放 阅读详情

相关推荐

apache tomcat 9

apache tomcat 9

Tomcat下载安装以及配置(详细教程)

Tomcat下载安装以及配置

二哈喇子! 18万+

VCS和UVM常用编译选项

VCS编译选项 -full64 在64bit模式下编译、仿真,用于64位操作系统 -j8 指定编译器可以并行编译的进程数为8 -timescale=1ns/1ps 指定仿真时间和精度 +libext+.v+.V+.sv+.svh 识别.v、.sv、.svh等多种格式文件 -sverilog 支持system verilog 编译 -f xxx.lisf 指定包含所有设计文件列表的文件名 -top test 设置顶层模块为test。(指包含.

qq_40571921的博客 9931

lvs,haproxy,keepalived,nginx,tomcat介绍和实验

lvs,haproxy,keepalived,nginx,tomcat介绍和实验

2301_81717288的博客 1054

task5:在本地搭建大模型(ollama 和 LM studio 对比),接入 openclaw

关于大模型,大家千万不要想着在本地部署,根本不可行,没有那个财力。另外大模型迭代快,不可能每周都在下载大模型。再次,还是国外的模型好用,国内的模型真的在 deepresearch 上就有很大问题,你们懂的。所以本篇文章,还是聚焦在探索层面+实操,并不会实战。

这里是 AI 食用指南,持续分享有用的AI 实操和应用! 1968

Android13系统设置第三方app为设备所有者

DevicePolicyManagerService.java文件所在目录是frameworks/base,记得将包类名换成自己app的。2. 将拷贝到系统分区下的两个xml文件继续通过init.rc服务拷贝到data/system/目录下并修改权限。1. 拷贝设备所有者和设备管理器两个对应的xml文件到系统分区。

wzh048503的博客 2502

Apache Flink 零基础

低代码、易开发、易维护、可读性强,适配实时数仓分层、指标统计、数据清洗、多源数据关联等绝大多数业务场景,支持Kafka、Doris、MySQL、Hive等主流组件读写,是企业实时开发主流方案。:接收客户端提交的实时/离线任务、解析任务逻辑、生成DAG执行流程图、分配集群资源、调度任务运行、管理Checkpoint/Savepoint、处理任务故障重启、协调集群节点状态。手动触发的状态快照,主要用于任务升级、代码迭代、版本更新、集群迁移、任务重启等运维操作,保证业务无感知、数据不错乱、任务无缝恢复。

2402_85354210的博客 312

从零开始 使用OMNET++结合VEINS,INET和SUMO的联合仿真

搭建仿真的环境,导入VEINS和INET开源库,使用INET库中提供的网络协议和功能模型来模拟通信协议和网络功能,使用SUMO创建道路网络和车辆轨迹,并导出到OMNeT++中 在OMNeT++中使用VEINS通过socket和SUMO连接,借助VEINS实现的TRACI接口来设置车辆相关的行为和场景,最后在OMNET++中结合VEINS,SUMO和INET运行联合仿真实验,并分析车辆在遇到紧急情况下的通信状况和具体行为

mjmmm的博客 1万+

深入 Apache Hudi Write Operations:一次 Upsert 到底经历了什么?

Apache Hudi Write Operations

喻师傅的学习笔记 661

手把手教你用DevExpress Patch工具解决VS项目中的试用弹窗问题

本文详细指导开发者使用DevExpress Patch工具解决Visual Studio项目中恼人的试用弹窗问题。核心在于理解并分步处理:首先正确应用补丁工具以绕过运行时验证,然后重点清理或重置项目中的licenses.licx文件以消除编译时验证,从而彻底根治弹窗。

weixin_29234423的博客 588

[DDR5]DDR5 SDRAM 状态图 和 基本功能

DDR5 SDRAM的读写操作以突发(burst mode)为导向,从选定的位置开始,并按照编程顺序进行16个突发长度或8个“切片”突发长度的操作。从ACTIVATE命令开始,然后是读取或写入命令。

串起点滴 1200

每天认识一个组件:Apache Flink

Flink 的核心价值不只是“实时”,而是把持续数据流、事件时间、业务状态和一致恢复放入同一个分布式运行时中。对于实时指标、持续 ETL、CDC、欺诈检测和事件驱动应用,它提供了一套比“消息队列加手工状态管理”更完整的计算模型。

weixin_47983718的博客 620

Dify基础:Dify平台的本地化部署(含windows部署中,常见问题及解决方案)

第一种比较简单,只需要在浏览器中,打入https://dify.ai/就可以。这个指令虽然看起来简单,但实际上涉及到对docker的使用。这个项目既然有github地址,那它一般就是开源的。我们点开这个github地址,便能看到dify的私有化部署方式。我们可以看到,还是上面那个图,有个按钮,是指向该项目的Github地址的。第二步:按照dify的github给出的指令,对dify进行安装。第一步:我们把dify下载到自己的电脑(或者服务器)上。这里,我们只考虑第二种方式,也就是私有化部署。

xiezhipu的博客 1万+

Apache Doris 与 SelectDB 是什么关系?从开源技术到面向 Agent 的极速分析数据库

Apache Doris 与 SelectDB 是什么关系?了解二者的开源技术渊源,以及 SelectDB Cloud、Enterprise、阿里云瑶池数据库 SelectDB、信创适配与面向 Agent 的极速分析数据库能力。

SelectDB 482

[QMT量化交易小白入门]-七十六、从tick数据中获取高频交易的量价背离信号

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。

木头大左的博客 790

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

每天认识一个组件:Apache StreamPark

StreamPark 解决的核心问题,不是如何执行流计算,而是如何让流处理应用以统一、可管理的方式进入生产环境,它把 Flink 应用开发与运维中的重复工作收拢到统一控制面。

weixin_47983718的博客 473

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

WPS/Office Word客户端设置文档打开密码,Apache POI 解密—— 原理、实现与踩坑实录

本文介绍基于Apache POI 5.4.1实现的DocxDecryptor工具类,解决金融文档解析中加密docx的打开密码问题。核心原理:通过文件头判断是否为OLE2加密容器,仅支持ECMA-376标准的standard/agile加密模式,拒绝非标加密。关键在于verifyPassword()与getDataStream()必须使用同一Decryptor实例,否则解密失败。实录三大踩坑点:流需支持mark(用BufferedInputStream)、Decryptor不可复用、解密流仅可读一次。提供清晰

学习/总结 397

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Apache Flink 2.3.0(最新版本)

Flink是一个用于无界与有界数据流的有状态分布式处理引擎,具备内存级执行速度和弹性扩展能力。其核心特性包括“边来边算”的无界流处理、统一批流处理的有界流模型,以及高效的状态管理。Flink起源于柏林的Stratosphere研究项目,2014年成为Apache顶级项目,阿里巴巴的Blink分支在SQL性能与支持方面贡献显著,推动了Flink SQL的发展。Flink 2.0引入存算分离、物化表等重大更新。学习者可通过官方文档、安装包(如阿里云镜像站)获取资源,掌握从架构到部署的全链路知识。

super_mochi1 301

Apache Doris 基础

需根据业务数据特征精准选择,选错模型会导致数据错误、查询性能极差。

2402_85354210的博客 336

每天认识一个组件:Apache Iceberg

Iceberg 的价值不应只用“支持 ACID”概括,更重要的是,它把数据湖中的文件管理提升为稳定的表级协议,使计算引擎不再依赖目录结构猜测表状态,让 Schema、分区和文件布局能够独立演进。

weixin_47983718的博客 549

Apache Spark4.1.3 一键部署与卸载脚本

本文介绍了一套基于三台主机(node11/node12/node13)的Spark 4.1.3集群一键部署与卸载方案。在已配置主机名、SSH免密、JDK17及Hadoop 3.5.0的前提下,通过spark_deploy.sh脚本自动完成Scala 2.13.16与Spark的安装、配置分发、集群启动及进程验证。脚本支持重复执行,避免配置重复。配套的spark_uninstall.sh可安全卸载Spark与Scala,保留JDK和Hadoop环境。整个过程自动化程度高,适用于教学与生产环境快速搭建与清理。

super_mochi1 95

Apache Doris 企业版怎么选?SelectDB 提供同源商业支持、私有化部署与信创适配

Apache Doris 企业版怎么选?了解 SelectDB 与 Doris 的同源关系、企业级商业支持、私有化部署、信创国产化适配,以及阿里云、华为云、腾讯云、AWS 云平台部署方案。

SelectDB 359

Apache Doris 异步物化视图与 Snowflake MV / Dynamic Tables 工程化对照

在面向分析的数据分层建模里,物化视图是降低重复计算、缩短查询响应时间的通用手段。的异步物化视图从 2.1 版本引入、3.0 版本完善,以一套机制覆盖了多表 join、嵌套分层、分区增量刷新与构建资源管控;Snowflake 则把单表加速与多表管道拆成两套独立机制——Materialized Views 与 Dynamic Tables,前者有严格的单表与聚合限制,后者以 TARGET_LAG 声明数据新鲜度。

SelectDB 277

每天认识一个组件:Apache Pulsar

Apache Pulsar 的核心价值在于:它不是把消息系统简单做大,而是以分层架构、多租户模型和跨集群能力,把消息、事件流、实时管道和数据平台治理放在同一个系统框架下。Pulsar 更适合有平台化诉求的团队:多业务共享、实时数据流、跨地域容灾、海量 Topic、长期留存、轻量流处理和连接器生态。

weixin_47983718的博客 597

Apache Superset 架构深度解析(二):一次查询从点击到渲染的完整旅程(附架构图 + 时序图)

当用户在Superset中点击图表,一次查询从请求到渲染历经多层协作:浏览器发起请求后,Gunicorn通过RBAC与RLS鉴权,并从PostgreSQL读取元数据;若缓存命中则直接返回结果,否则由QueryContext结合db_engine_spec生成SQL,经SQLAlchemy执行并写入缓存。大查询走Celery异步路径,结果通过Redis Streams推送至WebSocket通知前端。整个过程依赖五级缓存(含筛选、表单、结果集等),生产环境需配Redis实现高性能与高可用。

weixin_43128865的博客 487

存算分离冷查询提速 7.5 倍!Apache Doris 4.2 Peer Read 实现跨计算组缓存复用

Apache Doris 4.2 引入 Peer Read 机制,实现存算分离架构下跨计算组缓存复用,解决冷查询延迟高、扩缩容后缓存失效等问题。实测主键点查冷查询提速约 7.5 倍,P99 延迟降低约 80%,对象存储请求减少约 98%,全面解析工作原理、性能测试与配置方法。

SelectDB 432
上一篇: Express 是一个基于 Node.js 的轻量级、灵活的 Web 应用框架,广泛用于构建后端服务和 API
下一篇: 在 Google Play 上更新你已上架的 Flutter 应用
getapi
博客等级 码龄2年 618粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值