首页 > 解决方案 > 如何使用 Logrotate 保留 14 天的日志?

问题描述

我想更改我的 logrotate.conf 文件以压缩并保存最近 14 天的系统日志文件。如果将这些设置放在我的配置文件中,这些设置会起作用吗?

  rotate 14
  compress
  extension log
  create 640 www-data users
}

标签: linuxloggingerror-logginglogrotate

解决方案


您需要了解每个参数的logrotate作用,对于 debian,您可以在此处找到信息

在这里,您将旋转计数与 maxage 混淆,旋转计数指定日志文件在被删除或邮寄到邮件指令中指定的地址之前旋转计数次。例如

# sample logrotate configuration file
compress
/var/log/messages {
    rotate 5
    weekly
    postrotate
        /usr/bin/killall -HUP syslogd
    endscript
}

前几行设置全局选项;在示例中,日志在轮换后被压缩。配置文件的下一部分定义了如何处理日志文件/var/log/messages。日志将在被删除之前每周轮换五次。

您正在寻找的选项是maxage count

最大值

删除超过count天的轮换日志。仅当要轮换日志文件时才检查年龄。如果配置了 maillast 和 mail,文件将邮寄到配置的地址。


推荐阅读