Linux 日志轮转 logrotate 配置实例

2025.5.29 杂七杂八 1075

本文详细介绍Linux系统中logrotate日志轮转工具的配置方法,包含实际应用场景示例、参数解析及最佳实践。通过合理的日志轮转配置,可有效管理日志文件大小,避免磁盘空间耗尽问题,同时保留历史日志便于审计。

一、logrotate 简介

logrotate是Linux系统自带的日志管理工具,通过自动化轮转、压缩和删除旧日志文件,帮助系统管理员解决日志文件不断增长的问题。它通过cron定时任务触发,支持按时间、文件大小等多种条件触发轮转。

二、核心配置文件

logrotate的主要配置文件位于:

1

三、基础配置实例

以下是针对Nginx日志的典型配置示例(保存为/etc/logrotate.d/nginx):

1

参数说明:

  • daily:每天轮转一次
  • rotate 14:保留14个历史版本
  • compress:使用gzip压缩旧日志
  • delaycompress:延迟压缩前一个日志文件
  • create:设置新日志文件的权限和属主

四、高级配置技巧

1. 按文件大小轮转

1

2. 自定义时间戳命名

1

3. 多日志文件处理

1

五、调试与测试

使用-d参数测试配置(不实际执行):

1

强制立即执行轮转:

1

六、最佳实践建议

  1. 为关键应用配置单独的轮转规则
  2. 生产环境建议使用copytruncate替代默认的创建新文件方式
  3. 对高频写入日志配置size而非时间触发
  4. 定期检查/var/lib/logrotate/status状态文件

评论