我对logrotate有问题。应用程序本身会生成以下日志: xxx.log 在23:59,应用程序将日志更改为: xxx.log.2019-01-05 等等。现在,我在日志目录中得到关注:
xxx.log
xxx.log.2019-01-01
xxx.log.2019-01-02
等
我需要做的是轮换在23:59创建的日志,而不要触摸xxx.log
文件本身。
我尝试使用以下logrotate规则:
/var/log/xxx/xxx/xxx.log.* {
daily
missingok
rotate 30
compress
notifempty
copytruncate
nosharedscripts
prerotate
bash -c "[[ ! $1 =~ *.gz ]]"
endscript
}
但是首先logrotate不会压缩最后创建的日志,它还会为以前压缩的文件添加.1.gz扩展名。
答案 0 :(得分:0)
logrotate不会压缩最后创建的日志
在/etc/logrotate.conf中是否定义了“延迟压缩”?根据{{3}}:
延迟压缩
将上一个日志文件的压缩推迟到下一个循环周期。
它还添加了.1.gz扩展名
在上述手册页中,您应该查看“扩展”选项的作用:
扩展名 ext
具有扩展名 ext 的日志文件可以在轮换后保留。