使用 logrotate 压缩日志

内容分享1天前发布
0 0 0

要在使用 rsyslog 记录日志并按日期保存的情况下定期压缩旧日志,可以使用 logrotate 工具来自动完成日志的压缩、轮转和删除。logrotate 允许你为日志文件定义轮转策略,并可以按日期自动压缩旧日志。以下是配置 logrotate 压缩旧日志的步骤:

1. 安装 logrotate

如果你的系统尚未安装 logrotate,你可以通过以下命令安装它:

sudo apt-get install logrotate

2. 配置 logrotate

在 /etc/logrotate.d/ 目录下为你的日志文件创建一个单独的配置文件。例如,如果你希望压缩 /var/log/myapp/ 中的日志文件,可以创建一个配置文件
/etc/logrotate.d/myapp:

sudo vim /etc/logrotate.d/myapp

在配置文件中定义压缩和轮转策略,例如:

/var/log/myapp/*.log {
      daily                  # 每日轮转
    rotate 7              # 保存最近7天的日志
    compress              # 轮转时压缩旧日志
    delaycompress            # 延迟压缩,保留最新的未压缩日志
    missingok              # 如果日志文件丢失,不报错
    notifempty             # 如果日志文件为空,不轮转
    dateext               # 使用日期作为扩展名
    dateformat -%Y-%m-%d        # 指定日期格式
    postrotate
        /usr/lib/rsyslog/rsyslog-rotate # 在日志轮转后重启 rsyslog
    endscript

}

3. 测试配置

保存并退出后,你可以手动测试 logrotate 配置是否正确:

sudo logrotate -d /etc/logrotate.d/myapp

这个命令会显示模拟执行的日志轮转操作,确保没有错误。

4. 手动执行轮转

如果你想立即执行日志轮转而不仅仅是测试,可以运行:

sudo logrotate /etc/logrotate.d/myapp

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...