logrotate 日志轮转配置
不轮转的日志迟早把磁盘写满。命令都会敲,差别在于知不知道每一步在改什么,出问题能不能退回去。
下面按“先判断范围、再处理、最后防复发”的顺序展开,涉及 logrotate、日志切割 的关键动作都给了具体做法,可以照着走。
配置位置
/etc/logrotate.d/ 下按服务建文件。
这一步的判断依据建议写进操作记录,下次直接照做,不用重新摸索。
关键参数
daily、rotate 7、compress、copytruncate。
容易踩的坑:只改出问题的那一台、不做同步,后面会反复踩同一个坑。
copytruncate 的代价
会丢少量日志,但不用重启进程。
这一步的判断依据建议写进操作记录,下次直接照做,不用重新摸索。
验证
logrotate -d 干跑看会不会执行。
速查表
| 环节 | 关键动作 |
|---|---|
| 配置位置 | /etc/logrotate.d/ 下按服务建文件 |
| 关键参数 | daily、rotate 7、compress、copytruncate |
| copytruncate 的代价 | 会丢少量日志,但不用重启进程 |
| 验证 | logrotate -d 干跑看会不会执行 |
常见问题
Q:logrotate这类问题,最快的判断办法是什么?
先确认现象的范围:只有单台还是全部、只在某个时段还是持续。范围一缩小,原因基本就浮出来了。
Q:按文中的步骤做完,还需要注意什么?
把处理过程和最终生效的参数记下来。同类问题再出现时直接对照记录,比重查一遍快得多。
小结
回到这篇的四个环节:配置位置、关键参数、copytruncate 的代价、验证。生产环境优先考虑稳定性,新参数先在小流量机器上验证。