【问题标题】:Compress and delete the logs in logrotate压缩和删除logrotate中的日志
【发布时间】:2015-03-25 19:13:29
【问题描述】:

我想通过 logrotate 压缩超过 30 天的日志并删除超过 90 天的日志。你能帮我看看我需要如何在 logrotate conf 文件中进行配置吗?

日志一直在根据时间创建。我只需要从这个路径备份颠覆日志。

[svnadmin@svnarapp01:/opt/svn/logs/svnarapp01]ls subversion_201*
subversion_2014_12_14_00_00_00.log
subversion_2014_12_29_00_00_00.log  
subversion_2015_01_13_00_00_00.log
subversion_2014_12_15_00_00_00.log  
subversion_2014_12_30_00_00_00.log  
subversion_2015_01_14_00_00_00.log
subversion_2014_12_16_00_00_00.log  
subversion_2014_12_31_00_00_00.log  
subversion_2015_01_15_00_00_00.log

超过 30 天的日志将被压缩,超过 90 天的日志将被删除。此过程将每天运行。

【问题讨论】:

  • man logrotate ,配置:compress, rotate,... 我认为您需要 2 个文件,但我不确定。一个用于 30 天,一个用于 90 天。
  • 是否已将其移至 超级用户

标签: linux unix logrotate


【解决方案1】:

maxage 不会应用于 .gz 文件,因为它们不是 .log 文件。 您可以尝试如下定义postrotate 脚本:

postrotate
       find /path/to/log/ -name "*.log.*.gz" -mtime +7 -delete
endscript

请根据您的要求调整路径和mtime。

【讨论】:

    【解决方案2】:

    您可以尝试在 logrotate.conf 中定义类似的内容

    /opt/svn/logs/svnarapp01/subversion_*.log {
        monthly
        compress
        maxage 90
    }
    

    这将压缩超过 30 天的日志文件并删除超过 90 天的日志。 您可以在 logrotate 手册页中找到更多参数。

    【讨论】:

      猜你喜欢
      • 2017-11-24
      • 2023-03-15
      • 2015-12-05
      • 2017-08-05
      • 2014-01-27
      • 2019-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多