我的目标是维护 4 天的日志文件,以便在第五天创建一个包含所有四个日志文件的 zip 文件。到目前为止创建的四个日志文件将被删除。
这是我的logrotate.conf
:
/home/ubuntu/logs/server.log {
daily
missingok
rotate 5
compress
create
dateext
dateyesterday
dateformat .%Y-%m-%d
extension .gz
}
我有一个crontab
条目:
2 0 * * * /usr/sbin/logrotate /home/ubuntu/logrotate.conf --state /home/ubuntu/logrotate.state
我看到了第五天的 zip 文件以及前四天的空文件和另外四个空文件的 zip 文件。
不是rotate 5
并且compress
应该意味着,在将之前的 4 个文件压缩成一个存档和 zip 后删除它们吗?
rotate
并且compress
是独立的。compress
压缩每个旋转的日志文件,rotate
设置要保留多少个旋转的日志文件。一起使用它们并不意味着旋转的日志文件被组合和压缩。你可以做的是使用这样的
post-rotate
脚本:(使用
sponge
frommoreutils
覆盖最后一个日志文件)也就是说,
extension .gz
除非您的日志文件实际上具有.gz
扩展名,否则它是无用的。