logrotate não está compactando arquivos conforme o esperado

0

Com a configuração do logrotate. abaixo eu estava esperando o programa para começar a compactar arquivos de log depois de criar o primeiro arquivo de backup. Em vez disso, estou vendo isso:

[root@host ~]# ll /var/log
total 1.2M
drwxr-xr-x 2 root root 4.0K Aug 31 13:29 ./
drwxrwxr-x 7 1000 1000 4.0K Aug 29 01:49 ../
-rw-r--r-- 1 root root  289 Aug 29 02:11 auth.log.1
-rw-r--r-- 1 root root  382 Aug 31 00:59 cron.log.1
-rw-r--r-- 1 root root  41K Aug 31 14:16 messages
-rw-r--r-- 1 root root 201K Aug 31 13:26 messages.0
-rw-r--r-- 1 root root 201K Aug 30 23:11 messages.0.1
-rw-r--r-- 1 root root  88K Aug 31 00:59 messages.1
-rw-r--r-- 1 root root  38K Aug 31 14:16 user.log
-rw-r--r-- 1 root root 201K Aug 31 13:29 user.log.0
-rw-r--r-- 1 root root 201K Aug 30 23:12 user.log.0.1
-rw-r--r-- 1 root root  89K Aug 31 01:02 user.log.1

[root@host ~]# cat /etc/logrotate.conf
compress

include /etc/logrotate.d

/var/log/* {
        rotate 7
        daily
    delaycompress
        missingok
        sharedscripts
        postrotate
                /usr/bin/killall -HUP syslogd
        endscript
}

O sistema de destino é o BusyBox v1.20.2.

Talvez o problema seja que eu especifiquei para rotacionar todos os logs em / var / log, em vez de nomear cada um deles explicitamente? Eu preferiria dizer apenas rodar todos os logs em / var / log e fazer com que funcione como esperado.

    
por SeanLabs 31.08.2015 / 16:18

1 resposta

1

O problema é que /var/log/* é muito grande e, portanto, corresponde anteriormente arquivos girados e os rotaciona novamente. Você precisa especificar um lista mais explícita, ou um padrão curinga mais restrito, ou mover registros antigos em um novo diretório para que eles não se enganem. Eu substituiria, por exemplo,

/var/log/* { ... }

por

/var/log/*.log /var/log/messages { ... }
    
por 31.08.2015 / 18:25