压缩并删除logrotate中的日志

时间:2015-01-27 08:20:54

标签: linux unix logrotate

我想压缩超过30天的日志,并通过logrotate删除超过90天的日志。你能帮我解决一下我需要在logrotate配置文件中配置的方法。

日志已根据时间创建。我需要从此路径中仅备份subversion日志。

[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天。这个过程每天都会运行。

2 个答案:

答案 0 :(得分:0)

您可以尝试在logrotate.conf

中定义类似的内容
/opt/svn/logs/svnarapp01/subversion_*.log {
    monthly
    compress
    maxage 90
}

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

答案 1 :(得分:0)

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

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

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