logrotation 正在压缩格式不正确的日志文件

logrotation 正在压缩格式不正确的日志文件

我在虚拟机上启用了以下 logrotation,但不知何故,日志以不正确的格式进行 gzip 压缩。

日志轮转

/logs/springboot/*.log*
{

    missingok
    minsize 100M
    copytruncate
    notifempty
    sharedscripts
    compress
    rotate 5
    postrotate
    endscript
}

下面是如何使用 0 字节对日志进行 gzip 压缩

-rw------- 1 message message  Aug 12 19:45 message.2021-08-01.6.log.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz
-rw------- 1 message message  Aug 12 19:45 message.2021-08-01.7.log.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz
-rw------- 1 message message  Aug 12 19:45 message.2021-08-01.8.log.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz
-rw------- 1 message message  Aug 12 19:45 message.2021-08-01.9.log.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz

发生此问题有原因吗?由于此 cron 作业失败并出现以下错误。我尝试使用调试模式运行 logrotation,下面是停止程序。

**compressing log with: /bin/gzip**
removing old log /logs/springboot/message.2021-07-26.0.log.1.gz.1.1.1.1.1.1.gz.1.gz.1.1.1.1.1.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.1.1.1.1.1.gz.1.gz.1.1.1.1.1.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.1.1.1.1.1.gz.1.gz.1.1.1.1.1.1.gz.6.gz
error: error opening /logs/springboot/message.2021-07-26.0.log.1.gz.1.1.1.1.1.1.gz.1.gz.1.1.1.1.1.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.1.1.1.1.1.gz.1.gz.1.1.1.1.1.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.gz.1.1.1.1.1.1.gz.1.gz.1.1.1.1.1.1.gz.6.gz: **File name too long**

答案1

您的模式/logs/springboot/*.log*不仅匹配您要轮换的日志文件,还匹配轮换的日志。

因此,它匹配这两个文件名:

  • message.2021-08-01.6.log
  • message.2021-08-01.6.log.1.gz

这意味着它将开始旋转已经旋转和压缩的文件,.1.gz每次都会添加。

使您的模式更具限制性,以避免匹配轮换的日志文件。例如,用于/logs/springboot/*.log仅匹配以.log.或者甚至更好,/logs/springboot/message.*.log因为您知道日志文件也有静态文件名前缀,所以使用。

相关内容