Onde o logrotate salva seu próprio log?

25

eu tenho logrotate executando em uma máquina AWS EC2 girando os logs do Apache. Depois de compactados, os logs do Apache são salvos no AWS S3 via s3fs. O problema é que notei recentemente que não tinha logs girados. No S3, tenho registros antigos do dia 48-> 60, mas o 1-> 47 não aparece.

Minha pergunta é: onde o logrotate salva seu próprio log? É possível que eu tenha algum tipo de problema com o s3fs, mas preciso saber antes de fazer qualquer coisa. Tentei encontrar em algum lugar os logs, mas não consegui descobrir.

Qualquer ideia?

enedebe
fonte

Respostas:

20

logrotatenão registra nada por padrão. normalmente deve estar no seu cron em algum lugar, por exemplo:

$ grep -r -- 'logrotate.conf' /etc/cron*
/etc/cron.daily/logrotate:/usr/sbin/logrotate /etc/logrotate.conf

Você pode executá-lo manualmente para ver o que está errado ou redirecionar a saída de rotação de log para um arquivo no cron acima para ver o que aconteceu no dia seguinte.

Provavelmente em algum lugar a configuração está incorreta e causou a interrupção da execução do logrotate.

johnshen64
fonte
+1 sobre a execução logrotate manualmente para ver o que está errado
CJC
obrigado pela resposta, mas o que eu realmente quero saber o que aconteceu no meu sistema para obter esse resultado gentil. Obrigado!
enedebe
executar logrotate manualmente dá algum erro? se houver erros, você precisará corrigi-los no arquivo conf ou no /etc/logrotate.d/apache (ou apache2).
amigos estão dizendo sobre joão paulo
4
Você pode usar o -dsinalizador de depuração e o -fsinalizador de força para ver exatamente o que o logrotate está tentando fazer. -ddesativa a ação, mas as mensagens impressas ainda alegam que estão mudando as coisas.
David Lord
Ao executar /usr/sbin/logrotate /etc/logrotate.conf, eu adicionaria -vpara ver o log detalhado.
Dennis Golomazov 18/11
6

A única coisa em que o logrotate registros normalmente está cat /var/lib/logrotate/status.

Isso é obtido em /server//a/518134/266525

dragon788
fonte
5

Outro bom lugar para procurar é /var/log/messagesno CentOS erros como esse no cron.daily/etc/cron.daily/logrotate

logrotate: ALERT exited abnormally with [1]

Você também pode executar manualmente no modo de depuração e verificar se há erros:

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

Fonte: https://access.redhat.com/solutions/32831

Tony-Caffe
fonte
2

Se você estiver correndo logrotate no cron e não redirecionando a saída, a saída, se houver alguma, será enviada por email para o ID que estiver executando a tarefa do cron. Redireciono minha saída para um arquivo de log.

Por exemplo:

25 3 * * 7 /usr/sbin/logrotate -s /home/user/conf/mwarelogrotate.state 
/home/user/conf/mwarelogrotate.conf >> /home/user/logs/logrotate.log 2>&1
Geoffrey M.
fonte
1

Verifique /etc/logrotate.confas configurações globais que podem estar afetando as tarefas configuradas através/etc/logrotate.d/

cdmo
fonte
0

Quando o logrotate não gira os logs ou entra no estado de falha, é uma boa ideia executar o logorate manualmente no modo de depuração para ver quais erros estão listados, como este:

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

Este comando testa a rotação dos logs para todos os serviços que possuem arquivos localizados /etc/logrotate.d. Se ele listar erros (como erros causados ​​por entradas de log duplicadas), você saberá por que o logrotate tem problemas.

Ludvik
fonte