Conflitos de backup de log com rotação de log

1

Nos meus servidores eu tenho a rotação de log e um script de backup que, além de tudo, faz o backup de todo o diretório de log.

Para a rotação de log eu uso logroatate no Linux e newsyslog é usado no BSD. Para backup de log eu simplesmente cp -Rf /var/log/ /backups/

Ocasionalmente, o script de backup falha devido a uma condição de corrida que ocorre quando a rotação de log renomeia um arquivo de log durante a execução do backup. Então eu recebo algo como:

cp: /var/log/messages.0: No such file or directory

Eu acredito que minha situação não é única. Há alguma prática recomendada para superar essa condição de corrida e tornar o backup mais confiável?

    
por Andrei Korostelev 09.03.2016 / 08:03

1 resposta

2

Não parece que o logrotate forneça qualquer coisa que você possa conectar (por exemplo, um arquivo pid) para resolver esse problema, então você precisará contorná-lo.

Eu procuraria usar o flock (1) que está disponível para Linux e BSD.

Você pode fazer com que o script logrotate crie um bloqueio e faça com que o script de backup verifique e espere o bloqueio.

    
por 09.03.2016 / 09:12