logrotate: como detectar falhas

1
# logrotate -d /etc/logrotate.conf

...
reading config info for /var/log/rsyncd.log
error: rsync:12 duplicate log entry for /var/log/rsyncd.log
error: found error in /var/log/rsyncd.log , skipping
removing last 1 log configs
...

# echo $?
0

Como logrotate geralmente é executado usando o cron, o cron sai com OK porque o logrotate sai com OK. Isso deve ser feito de forma diferente? Isso é um bug ou é por design, por algum motivo que ainda não compreendi?

UPDATE: Esta questão não é sobre a origem do erro. Eu coloquei um erro lá intencionalmente, a fim de ilustrar que o código de retorno é sempre 0 (= OK) e estou interessado em saber por que isso é o caso.

    
por Marki 04.06.2012 / 13:56

1 resposta

1

Bem, estou supondo que os projetistas do logcheck decidiram que esse cenário é um erro de configuração que vale a pena reclamar, mas não é um erro de operação. Nesse cenário, o logcheck ainda pode ser executado e ainda opera em /var/log/rsyncd.log. Ignorar um segundo arquivo de configuração não impede que o logcheck continue, portanto, o status relatado é 0.

Especialmente no software para servidores, presume-se que você tenha verificado seus arquivos de configuração antes de implantá-los. Embora a vantagem aqui seja um alerta mais óbvio para a questão, a desvantagem seria a preocupação com quaisquer tarefas que dependam do logcheck.

Tudo isso dito, você não pode confiar no estado ao passar -d para ser o mesmo que na operação normal. Citando man logcheck : No modo de depuração, nenhuma alteração será feita nos logs ou no arquivo de estado logrotate. . Assim, a operação de ler as coisas e relatá-las com detalhes foi bem-sucedida e deve retornar 0. Isso pode não estar relacionado ao que você obtém com o modo de depuração desativado.

Em qualquer caso, no final, isso pode ser mais um debate de design de software do que qualquer outra coisa. Como um sysadmin, a verificação dos arquivos de configuração na produção deve ser feita como sua própria tarefa.

Compare tudo isso com um jargão inaudível no arquivo de configuração que certamente lhe dará um código diferente de zero em qualquer software decente.

    
por 04.06.2012 / 14:04

Tags