有没有办法让 logrotate 只压缩 X 天前修改的文件(例如 mtime +2)
问问题
7941 次
3 回答
13
一种选择是用于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
因此,您有两天存档的未压缩日志。
于 2012-04-27T02:44:16.640 回答
5
好吧,您可以使用 delaycompress 再等待一个周期。基本上,如果您每天轮换,那么它将保持昨天的日志未压缩。
除此之外,您可以尝试不使用 logrotate 来压缩文件并编写一个 bash 脚本以每天运行一次并压缩所有早于某个日期的文件。
这是我个人喜欢的 bash 教程:http ://www.linuxconfig.org/Bash_scripting_Tutorial
于 2010-12-21T02:27:50.840 回答
-1
你能做类似下面的事情吗?
/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
于 2012-05-04T19:41:03.643 回答