首页/系统/Linux 运维命令速查/logrotate 调试:-d 干跑与 -v 详查

logrotate 调试:-d 干跑与 -v 详查

轮转不生效先别改配置:-d 干跑显示「会做什么」,-v 观察真实执行细节,state 文件与 privilege 是两大常见坑。

Linux 运维命令速查系统更新于 2026-10-12
用途诊断 logrotate 未按预期轮转
语法logrotate -d/-v/-f 配置文件
状态/var/lib/logrotate/status)

调试流程

调试流程
sudo logrotate -d /etc/logrotate.d/nginx     # 干跑:逐步打印判定
sudo logrotate -v /etc/logrotate.d/nginx     # 实际执行并打印细节
sudo logrotate -vf /etc/logrotate.d/nginx    # 忽略时间条件强制轮转
sudo cat /var/lib/logrotate/status | grep nginx

检查配置拼写

检查配置拼写
python3 -c "print(open('/etc/logrotate.d/nginx').read())" | head -n 30
sudo logrotate -d /etc/logrotate.conf 2>&1 | head -n 40
logrotate 由 cron.daily 或 timer 触发;当天刚改配置要等下一轮,-f 可立即验证。

易错点

  • 脚本 postrotate 里 kill -HUP 写错 PID 路径:轮转成功但进程仍写旧文件(空间不释放)
  • copytruncate 与 create 组合使用时新文件属主可能变 root,服务写不进

数据来源与参考

  • man 8 logrotate
  • man 5 logrotate.conf

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌