logrotate: erro ao abrir (nenhum arquivo ou diretório)

1

Recebi uma mensagem de erro. Isso é enviado para minha caixa de correio automaticamente.

/etc/cron.daily/logrotate:
error: error opening /var/log/apache2/access.log.1.gz: No such file or directory
error: error opening /var/log/apache2/myhost/access.log.1.gz: No such file or directory

Também verifico meus /var/log/apache2/* e /var/log/apache2/myhost/* desses diretórios. Não há o arquivo access.log.1.gz , mas definitivamente existe um arquivo access.log.1 nos diretórios. Acabei de começar a configurar logrotate esta ferramenta para o meu gerenciamento de arquivos de log e meu apache ter sido executado por um longo período, pelo menos 30 arquivos de log existentes em meus diretórios. Atualmente, não tenho ideia do porque aconteceu assim.

Meu /etc/logrotate é o seguinte:

/var/log/apache2/*.log {
     daily
     missingok
     rotate 10
     compress
     delaycompress
#    notifempty
     create 640 root adm
     sharedscripts
     postrotate
                 /etc/init.d/apache2 reload > /dev/null;
     endscript
     prerotate
             if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                     run-parts /etc/logrotate.d/httpd-prerotate; \
             fi; \
     endscript
}
/var/log/apache2/myhost/*.log {
     daily
     missingok
     rotate 10
     compress
     delaycompress
#    notifempty
     create 640 root adm
     sharedscripts
     postrotate
             /etc/init.d/apache2 reload > /dev/null; \
     endscript
     prerotate
             if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                     run-parts /etc/logrotate.d/httpd-prerotate; \
             fi; \
     endscript
}
    
por jefferyear 12.02.2017 / 15:12

1 resposta

0

Eu fui consertado. Existem dois lugares modificados pela minha nova configuração. Agora, o / var / log / apache2 / myhost / é como abaixo, sem nenhum sozinho "access.log.1" e "error.log.1".

Qual é a minha configuração no meu /etc/logrotate.d como abaixo. Eu me livre do asterisco e faço seu nome especificamente. Caso contrário, eu comento "delaycompress" nesta diretiva.
/var/log/apache2/myhost/access.log /var/log/apache2/myhost/error.log { daily missingok rotate 2 compress # delaycompress # notifempty create 640 root adm sharedscripts postrotate /etc/init.d/apache2 reload > /dev/null; \ endscript }

Aqui eu adiciono um arquivo /etc/logrotate.conf. Eu comento "comprimir" isso também. Então, eu executo "sudo logrotate -f /etc/logrotate.d/apache2". Isso significa forçá-lo a implementar essa execução. O resultado é bom. Obrigado a todos.

# see "man logrotate" for details # rotate log files weekly weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp, or btmp -- we'll rotate them here
/var/log/wtmp {
missingok
monthly
create 0664 root utmp
rotate 1
}

/var/log/btmp {
missingok
monthly
create 0660 root utmp
rotate 1
}

# system-specific logs may be configured here
</code>
    
por 15.02.2017 / 16:32