旋转异常日志的logrotate问题

时间:2019-01-09 10:09:50

标签: centos logrotate

我对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扩展名。

1 个答案:

答案 0 :(得分:0)

  

logrotate不会压缩最后创建的日志

在/etc/logrotate.conf中是否定义了“延迟压缩”?根据{{​​3}}:

  

延迟压缩

     

将上一个日志文件的压缩推迟到下一个循环周期。


  

它还添加了.1.gz扩展名

在上述手册页中,您应该查看“扩展”选项的作用:

  

扩展名 ext

     具有扩展名 ext

日志文件可以在轮换后保留。