os logs nginx falharam apenas com a rotação semanal, como posso determinar por quê?

2

Depois que eu instalei o nginx, seus logs foram rotacionados semanalmente de acordo com um cron semanal no domingo 00:00

No entanto, esta semana os logs não conseguiram rodar e não consigo descobrir porquê.

A única coisa que posso pensar que teria afetado é que eu fiz uma atualização do apt-get. Isso ocorreu sem problemas, com apenas um arquivo de configuração precisando de mesclagem manual.

Não consigo encontrar nenhum log para o próprio logrotate. Parece que eu esperaria ver algo em / var / syslog para o trabalho cron do logrotate, mas não há nada lá (nunca).

Em segundo lugar, o logrotate parece estar configurado corretamente para o nginx. Existe um arquivo de configuração nginx com boa aparência em logrotate.d

A tarefa cron do logrotate também ainda está em /etc/cron.daily

Obrigado por qualquer ajuda - procurando a razão pela qual isso poderia ter funcionado antes, mas de repente parou, ou por onde procurar por qualquer saída de registro extra do cron ou do próprio logrotate.

    
por mozboz 24.01.2016 / 13:22

2 respostas

2

Invocar logrotate manualmente com a opção -v pode lançar mais luz sobre o que está acontecendo, ser avisado que isso pode ser uma operação prejudicial dependendo de quais logs são rotacionados.

Além disso, é difícil dizer se não há nada nos logs: Verificar o espaço em disco / inodes livres com df poderia ajudar, inspecionar o dmesg pode dar uma indicação se o disco está falhando.

    
por 27.01.2016 / 17:43
2

você pode testar o arquivo específico em busca de erros, executando no modo de depuração;

/usr/sbin/logrotate -d /etc/logrotate.d/nginx

Você pode forçar o logrotate a rodar via arquivo específico também

/usr/sbin/logrotate -f /etc/logrotate.d/nginx

Na maioria dos casos - a taxa de logs pode falhar devido a erros de gravação no diretório especificado (pode ser que o arquivo rotacionado já esteja presente? ou a pasta relevante está faltando?)

Se acima estiver funcionando bem, você pode precisar executar o modo de depuração usando o arquivo conf de logrotate comum (isso ativará o modo de depuração e ajudará a descobrir os problemas que não o logrotate do nginx)

/usr/sbin/logrotate -d /etc/logrotate.conf

Se acima for executado com sucesso - você precisará confirmar se os crontabs estão funcionando corretamente para o usuário Linux em questão (root?). Você pode configurar um cron simples baseado em eco para verificar o mesmo.

    
por 28.01.2016 / 15:19