繁体   English   中英

logrotate - 压缩文件修改x天数

[英]logrotate - compression files modified x number of days

有没有办法让logrotate只压缩X天前修改过的文件(例如mtime +2)

一个选项可能是使用logrotate旋转到不同的扩展名,然后使用logrotate旋转到压缩文件:

/var/log/raw.log {
  daily
  nocompress
  extension .old
  }

/var/log/*.old {
  daily
  compress
  delaycompress
  rotate 10
  }

这个Rube Goldberg装置将产生以下结果:

raw.log
raw.log.old
raw.log.old.1
raw.log.old.2.gz
raw.log.old.3.gz

因此,您有两个未压缩的存档日志。

那么你可以使用delaycompress再等一个周期。 基本上如果你每天轮换,它将保持昨天的日志未压缩。

除此之外,您可以尝试不使用logrotate压缩文件并编写一个bash脚本,以便每天运行一次并压缩早于特定日期的所有文件。

这是我个人喜欢的bash教程: http//www.linuxconfig.org/Bash_scripting_Tutorial

你可以做以下的事吗?

/var/log/access.log {
    daily
    nocompress
}

/var/log/access.7.log {
     daily
     compress
}

我想这会给你一些类似的东西

access.log
access.1.log
access.2.log
access.3.log    
access.4.log
access.5.log
access.6.log
access.7.log.gz
access.8.log.gz
access.log

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM