首页/系统/信创系统运维速查/logrotate 日志轮转配置
服务与运维65 条

logrotate 日志轮转配置

应用自管日志用 logrotate 控制周期、保留份数与压缩:/etc/logrotate.d/ 下加规则文件,按 daily/weekly、rotate N、compress 组合,配套 create 与 postrotate 保证新文件权限与进程重开。

信创系统运维速查系统更新于 2026-10-12

规则示例 /etc/logrotate.d/myapp

规则示例 /etc/logrotate.d/myapp
/var/log/myapp/*.log {
    daily
    rotate 14
    compress
    delaycompress
    missingok
    notifempty
    create 0640 appuser appuser
    sharedscripts
    postrotate
        systemctl reload myapp >/dev/null 2>&1 || true
    endscript
}

手动验证

手动验证
logrotate -d /etc/logrotate.d/myapp     # 演练:只打印将要执行的动作
logrotate -f /etc/logrotate.d/myapp     # 强制执行一次
ls -lh /var/log/myapp/
logrotate 由 logrotate.timer 或 cron.daily 触发;状态文件记录上次轮转时间(RPM 系多为 /var/lib/logrotate/logrotate.status)。

易错点

  • create 的属主与权限写错会让应用轮转后无法写日志,改完用 logrotate -f 实测一次
  • 应用不重开文件句柄时可用 copytruncate,但大文件截断有丢行风险,优先让应用 reload

数据来源与参考

  • man 8 logrotate
  • man 5 logrotate.conf
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌