上一篇 下一篇 分享链接 返回 返回顶部

日志切割与清理:logrotate实战

发布人:泮崵 发布时间:10小时前 阅读量:11

用 logrotate 管住日志体积,给出配置模板、验证方法与「删了不释放」的排查。下面按“先判断、再动手、最后验证”的顺序展开,每一步都给出可核对的检查点。

涉及 logrotate、日志切割、日志清理 的关键动作都写成了具体命令或配置项,可以照着走,也可以当检查表用。

配置位置

/etc/logrotate.d/ 下按服务建文件,或直接写在应用目录;全局默认在 /etc/logrotate.conf。

关键参数

daily 或 size 100M 触发,rotate 14 保留份数,compress 压缩,copytruncate 用于不能重开文件的进程。

验证方法

logrotate -d 干跑看匹配结果,确认后加 -f 强制跑一次,再看目录里是否生成了 .1 与 .gz。

不生效常见原因

文件权限导致跳过、路径写错、同目录多份配置冲突,日志里会有 skipping 提示。

删了不释放

被进程持有的已删文件用 lsof +L1 找,重启或 truncate 该进程的句柄才能回收空间。

速查表

环节关键动作
配置位置/etc/logrotate.d/ 下按服务建文件,或直接写在应用目录;全局默认在 /etc/logrotate.conf
关键参数daily 或 size 100M 触发,rotate 14 保留份数,compress 压缩,copytruncate 用于不能重开文件的进程
验证方法logrotate -d 干跑看匹配结果,确认后加 -f 强制跑一次,再看目录里是否生成了 .1 与 .gz
不生效常见原因文件权限导致跳过、路径写错、同目录多份配置冲突,日志里会有 skipping 提示

常见问题

Q:按文中写法改完,怎么确认真的生效?
不要只看配置文件,用对应的验证命令或从外部视角复测一次;改完先小流量观察一段,再全量推进,出问题能马上回退。

Q:按文中的步骤做完,还需要注意什么?
把处理过程和最终生效的参数记下来。同类问题再出现时直接对照记录,比重查一遍快得多。

Q:业务规模小,也要按这套标准来吗?
不需要一次到位。先把影响最大的两项做到位,剩余的随着业务增长逐步补齐,比一开始就追求完美更容易落地。

小结

回到这篇的 5 个环节:配置位置、关键参数、验证方法、不生效常见原因、删了不释放。把这几个动作写进检查表,下次遇到同类问题按顺序过一遍,比凭经验跳步骤稳。

相关阅读:内存占用高排查:从free到smem、磁盘扩容:LVM与文件系统在线扩展、crontab写错导致的故障与排查。

延伸阅读:crontab写错导致的故障与排查、磁盘扩容:LVM与文件系统在线扩展、内存占用高排查:从free到smem。

目录结构
全文
微信公众号 微信公众号
微信客服 微信客服
电子邮箱: admin@qyun.net