2015-09-09 50 views
2

我们已经设置了syslogd,可以将来自几个不同服务器的所有日志合并到一个名为/ var/log/centrallogs的文件夹中。 (使用logrotate的-d centrallogs)LR不Logrotate不压缩

/var/log/centrallogs/*log { 
     rotate 5 
     compress 
     missingok 
     notifempty 
     sharedscripts 
     postrotate 
     /etc/init.d/httpd restart > /dev/null 2>/dev/null || true 
     endscript 
} 

在测试:

我们使用以下日志此目录旋转配置:

/etc/logrotate.d/centrallogs似乎试图做任何旋转。

下面是输出(注意,我已经改名的网站,但是这就是我所做的唯一变化):我已经使用过delaycompress而是因为有些人已经成功与尝试

rotating pattern: /var/log/centrallogs/*log 1048576 bytes (5 rotations) 
empty log files are not rotated, old logs are removed 
considering log /var/log/centrallogs/site1_access.log 
    log needs rotating 
considering log /var/log/centrallogs/site1_error.log 
    log does not need rotating 
considering log /var/log/centrallogs/site2_access.log 
    log needs rotating 
considering log /var/log/centrallogs/site2_error.log 
    log needs rotating 
considering log /var/log/centrallogs/site3_access.log 
    log needs rotating 
considering log /var/log/centrallogs/site3_error.log 
    log needs rotating 
rotating log /var/log/centrallogs/site1_access.log, log->rotateCount is 5 
dateext suffix '-20150908' 
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' 
renaming /var/log/centrallogs/site1_access.log.5.gz to /var/log/centrallogs/site1_access.log.6.gz (rotatecount 5, logstart 1, i 5), 
renaming /var/log/centrallogs/site1_access.log.4.gz to /var/log/centrallogs/site1_access.log.5.gz (rotatecount 5, logstart 1, i 4), 
renaming /var/log/centrallogs/site1_access.log.3.gz to /var/log/centrallogs/site1_access.log.4.gz (rotatecount 5, logstart 1, i 3), 
renaming /var/log/centrallogs/site1_access.log.2.gz to /var/log/centrallogs/site1_access.log.3.gz (rotatecount 5, logstart 1, i 2), 
renaming /var/log/centrallogs/site1_access.log.1.gz to /var/log/centrallogs/site1_access.log.2.gz (rotatecount 5, logstart 1, i 1), 
renaming /var/log/centrallogs/site1_access.log.0.gz to /var/log/centrallogs/site1_access.log.1.gz (rotatecount 5, logstart 1, i 0), 
rotating log /var/log/centrallogs/site2_access.log, log->rotateCount is 5 
dateext suffix '-20150908' 
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' 
renaming /var/log/centrallogs/site2_access.log.5.gz to /var/log/centrallogs/site2_access.log.6.gz (rotatecount 5, logstart 1, i 5), 
renaming /var/log/centrallogs/site2_access.log.4.gz to /var/log/centrallogs/site2_access.log.5.gz (rotatecount 5, logstart 1, i 4), 
renaming /var/log/centrallogs/site2_access.log.3.gz to /var/log/centrallogs/site2_access.log.4.gz (rotatecount 5, logstart 1, i 3), 
renaming /var/log/centrallogs/site2_access.log.2.gz to /var/log/centrallogs/site2_access.log.3.gz (rotatecount 5, logstart 1, i 2), 
renaming /var/log/centrallogs/site2_access.log.1.gz to /var/log/centrallogs/site2_access.log.2.gz (rotatecount 5, logstart 1, i 1), 
renaming /var/log/centrallogs/site2_access.log.0.gz to /var/log/centrallogs/site2_access.log.1.gz (rotatecount 5, logstart 1, i 0), 
rotating log /var/log/centrallogs/site2_error.log, log->rotateCount is 5 
dateext suffix '-20150908' 
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' 
renaming /var/log/centrallogs/site2_error.log.5.gz to /var/log/centrallogs/site2_error.log.6.gz (rotatecount 5, logstart 1, i 5), 
renaming /var/log/centrallogs/site2_error.log.4.gz to /var/log/centrallogs/site2_error.log.5.gz (rotatecount 5, logstart 1, i 4), 
renaming /var/log/centrallogs/site2_error.log.3.gz to /var/log/centrallogs/site2_error.log.4.gz (rotatecount 5, logstart 1, i 3), 
renaming /var/log/centrallogs/site2_error.log.2.gz to /var/log/centrallogs/site2_error.log.3.gz (rotatecount 5, logstart 1, i 2), 
renaming /var/log/centrallogs/site2_error.log.1.gz to /var/log/centrallogs/site2_error.log.2.gz (rotatecount 5, logstart 1, i 1), 
renaming /var/log/centrallogs/site2_error.log.0.gz to /var/log/centrallogs/site2_error.log.1.gz (rotatecount 5, logstart 1, i 0), 
rotating log /var/log/centrallogs/site3_access.log, log->rotateCount is 5 
dateext suffix '-20150908' 
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' 
renaming /var/log/centrallogs/site3_access.log.5.gz to /var/log/centrallogs/site3_access.log.6.gz (rotatecount 5, logstart 1, i 5), 
renaming /var/log/centrallogs/site3_access.log.4.gz to /var/log/centrallogs/site3_access.log.5.gz (rotatecount 5, logstart 1, i 4), 
renaming /var/log/centrallogs/site3_access.log.3.gz to /var/log/centrallogs/site3_access.log.4.gz (rotatecount 5, logstart 1, i 3), 
renaming /var/log/centrallogs/site3_access.log.2.gz to /var/log/centrallogs/site3_access.log.3.gz (rotatecount 5, logstart 1, i 2), 
renaming /var/log/centrallogs/site3_access.log.1.gz to /var/log/centrallogs/site3_access.log.2.gz (rotatecount 5, logstart 1, i 1), 
renaming /var/log/centrallogs/site3_access.log.0.gz to /var/log/centrallogs/site3_access.log.1.gz (rotatecount 5, logstart 1, i 0), 
rotating log /var/log/centrallogs/site3_error.log, log->rotateCount is 5 
dateext suffix '-20150908' 
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' 
renaming /var/log/centrallogs/site3_error.log.5.gz to /var/log/centrallogs/site3_error.log.6.gz (rotatecount 5, logstart 1, i 5), 
renaming /var/log/centrallogs/site3_error.log.4.gz to /var/log/centrallogs/site3_error.log.5.gz (rotatecount 5, logstart 1, i 4), 
renaming /var/log/centrallogs/site3_error.log.3.gz to /var/log/centrallogs/site3_error.log.4.gz (rotatecount 5, logstart 1, i 3), 
renaming /var/log/centrallogs/site3_error.log.2.gz to /var/log/centrallogs/site3_error.log.3.gz (rotatecount 5, logstart 1, i 2), 
renaming /var/log/centrallogs/site3_error.log.1.gz to /var/log/centrallogs/site3_error.log.2.gz (rotatecount 5, logstart 1, i 1), 
renaming /var/log/centrallogs/site3_error.log.0.gz to /var/log/centrallogs/site3_error.log.1.gz (rotatecount 5, logstart 1, i 0), 
renaming /var/log/centrallogs/site1_access.log to /var/log/centrallogs/site1_access.log.1 
renaming /var/log/centrallogs/site2_access.log to /var/log/centrallogs/site2_access.log.1 
renaming /var/log/centrallogs/site2_error.log to /var/log/centrallogs/site2_error.log.1 
renaming /var/log/centrallogs/site3_access.log to /var/log/centrallogs/site3_access.log.1 
renaming /var/log/centrallogs/site3_error.log to /var/log/centrallogs/site3_error.log.1 
running postrotate script 
running script with arg /var/log/centrallogs/*log : " 
    /etc/init.d/httpd restart > /dev/null 2>/dev/null || true 
" 
compressing log with: /bin/gzip 
removing old log /var/log/centrallogs/site1_access.log.6.gz 
error: error opening /var/log/centrallogs/site1_access.log.6.gz: No such file or directory 

那。

LR旋转日志就好了,它根本不会对它们执行压缩。

望着那输出的唯一错误的冠冕堂皇的部分:

error: error opening /var/log/centrallogs/site1_access.log.6.gz: No such file or directory 

我想通LR可能被吓坏了,因为它没有使用.gz文件删除,所以我创建日志的每一个变化文件需要,它运行了一整晚,清除了gz,旋转了,但仍然没有压缩。

这让我有点生气,任何帮助都会感激不尽。

+1

也许'delaycompress'会帮助:http://serverfault.com/a/117009/253150 – Samuel

+0

@Samuel我试过了,没有快乐:( –

+1

嗯,应该用'gzip'默认压缩。你能检查一下吗?如果你的''gzip'在'/ bin/gzip'? – Samuel

回答

0

基于日志,它看起来像是在运行/ bin/gzip,通常gzip会压缩所有列出的文件 - 跳过所有丢失的文件 - 没有问题。请注意,如果结果较大,gzip将不会强制压缩文件,这很容易发生在非常小的文件上。 “错误:错误[..]”消息可能不是来自gzip,它倾向于用“gzip ::”前缀错误。

检查文件大小以查看它们是否很小(或者更具体地说,如果gzip认为压缩它们会使它们变大)。

notifempty的相似评论

delaycompress只是意味着你可以有.1.2.3.4gz .5.gz之类的东西。它是而不是使压缩工作,并实际上使其跳过压缩最近几个文件。你可以使用两者,或者只是使用压缩,而不是延迟压缩。

这很奇怪,你没有频率/大小{每天|每周|大小___}在您的文件中。我从来没有尝试过没有使用它们。