服务公告

服务公告 > 常见问题 > 日志文件突然清空:轮转配置的误会

日志文件突然清空:轮转配置的误会

发布时间:2026-01-22 02:23
## 症状 运维登机器准备查昨晚的故障,发现应用日志目录里只剩一个零字节的当前文件,昨天的记录不翼而飞。追问一圈没人动过日志,备份也没赶上时间点,故障现场就这样消失了。更让人不安的是,一周后同样的事又发生了一次。 ## 定位 先确认不是人为删除:文件的创建时间与轮转工具的活动时间吻合,就是轮转配置在起作用。查两个位置:应用自带的日志配置里是否配置了保留份数极少、且按大小提前轮转的策略;系统级 logrotate 片段是否为该目录配置了激进参数。truncate 式轮转的表现极具迷惑性:它不产生带编号或日期的历史文件,直接把当前文件清空继续写,看起来就像日志凭空消失。对比配置修改前后的行为差异,时间点能对上的那次变更就是答案。 ## 解决 按排查意图修正配置:需要历史可查,把保留份数放开到业务需要的量,启用日期后缀与压缩,让每份历史都有名有姓;确实要控制磁盘占用的,压缩比才是主力,砍保留份数是最后手段。应用自带轮转与系统 logrotate 二选一,两边同时管同一批文件,行为叠加后谁也说不清会发生什么,收敛到一处后行为才可预测。这次事件里消失的记录没法找回,但修复后的目录结构要能保证同样的误会不再有第二次。 ## 预防 任何日志策略变更前,先把当时的配置文件备份一份,行为异常时可以立即回退对照。变更后主动触发一次轮转,肉眼确认历史文件按预期生成,而不是等下一次故障来检验。把日志目录的文件数量与总体积纳入巡检,突然归零或突然膨胀都是信号。顺云云服务器上还可以用快照功能在变更前留一个恢复点,误操作的影响范围就有了上限。