日志轮转没生效?
麒麟日志轮转没生效:logrotate 配置错、服务没重载、状态文件位置错。给出查配置、看状态、触发测试的路径。
简短答案
轮转没生效九成在配置或执行:配置没覆盖目标文件、logrotate 任务没跑、状态文件记录错位。按配置 → 任务 → 手动触发三步定位。
| 现象 | 原因 | 处理 |
|---|---|---|
| 目标日志还在长 | 配置没覆盖该文件 | 补 glob / 路径 |
| 配置对了没轮 | 定时任务没跑 / 报错 | 看任务日志 |
| 反复重复轮同一批 | 状态文件错位 | 修状态文件路径 |
怎么排查
# 1. 看配置
cat /etc/logrotate.conf
ls /etc/logrotate.d/
# 2. 看最近一次轮转日志
journalctl | grep -i logrotate | tail
# 3. 手动触发(只检查或真轮转)
sudo logrotate -d /etc/logrotate.d/<目标配置>
sudo logrotate -f /etc/logrotate.d/<目标配置>
# 4. 看状态文件
cat /var/lib/logrotate/logrotate.status
- 服务日志由 journald 管的部分(
Journal段)不走 logrotate,别混淆两套机制;系统日志机制参考 麒麟 V11 服务器版 发行说明。 - 业务日志轮转策略(保留份数 / 压缩 / 是否拷后截断)按行业规范定。
- 调试时用
-d干跑确认逻辑,别直接-f真轮。
操作小结
- 配置 → 任务 → 手动触发,顺序查。
- 分清 logrotate 与 journald。
- 干跑先行再真轮。