首页/系统/Linux 运维命令速查/logrotate 日志轮转配置
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条
日志与排查40 条
systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

logrotate 日志轮转配置

logrotate 按计划切割、压缩、清理日志:daily/rotate/compress/maxsize 是核心参数,配置错误会导致日志不切或磁盘被日志吃满。

Linux 运维命令速查系统更新于 2026-10-12
用途管理日志切割/压缩/保留
语法logrotate [选项] 配置 / cron 或 systemd timer 驱动
所属logrotate

应用配置示例

应用配置示例
# /etc/logrotate.d/myapp
/var/log/myapp/*.log {
    daily
    rotate 14
    compress
    delaycompress
    missingok
    notifempty
    create 0640 appuser appgroup
    postrotate
        systemctl reload myapp >/dev/null 2>&1 || true
    endscript
}

调试与强制执行

调试与强制执行
logrotate -d /etc/logrotate.d/myapp      # 干跑看将做什么
logrotate -f /etc/logrotate.d/myapp      # 立即强制轮转
ls -l /var/lib/logrotate/logrotate.status # 上次轮转时间
日志切了但进程仍写旧文件(服务不重开文件句柄)是典型故障:postrotate 里 reload 服务或让应用支持 SIGUSR1。

易错点

  • copytruncate 与 create 二选一:前者适合不支持重开文件的服务但有丢日志窗口,混用会写乱
  • logrotate -d 干跑不执行 postrotate,别用它验证重载逻辑

数据来源与参考

  • man 8 logrotate
  • man 5 logrotate.conf

相关工具

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