Dove logrotate salva il proprio log?


25

Ho logrotateeseguito in una macchina AWS EC2 rotante registri Apache. Una volta compresso, i log di Apache vengono salvati in AWS S3 tramite s3fs. Il problema è che recentemente ho notato che non avevo i registri ruotati. In S3 ho vecchi registri dal giorno 48-> 60 ma il 1-> 47 non appare.

La mia domanda è: dove logrotate salva il proprio registro? È possibile che ho qualche tipo di problema con s3fs, ma devo sapere prima di fare qualsiasi cosa. Ho provato a trovare da qualche parte i registri ma non sono riuscito a scoprirlo.

Qualche idea?

Risposte:


20

logrotatenon registra nulla per impostazione predefinita. normalmente dovrebbe essere nel tuo cron da qualche parte, ad esempio:

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

Puoi eseguirlo manualmente per vedere cosa c'è che non va, o reindirizzare l'output logrotate su un file nel cron precedente per vedere cosa è successo il giorno successivo.

Probabilmente da qualche parte la configurazione non è corretta e ha causato l'interruzione della corsa logrotate.


+1 su logrotate in esecuzione manualmente per vedere cosa c'è che non va
cjc

grazie per la risposta, ma cosa voglio davvero sapere cosa è successo nel mio sistema per ottenere questo gentile risultato. Grazie!
enedebe,

esegue manualmente logrotate genera errori? in caso di errori, è necessario correggerli nel file conf o /etc/logrotate.d/apache (o apache2).
johnshen64,

4
È possibile utilizzare il -dflag di debug e il -fflag force per vedere esattamente cosa sta tentando di fare logrotate. -ddisabilita l'azione ma i messaggi stampati continueranno a sostenere che stanno cambiando le cose.
David Lord,

Durante l'esecuzione /usr/sbin/logrotate /etc/logrotate.conf, aggiungerei -vper vedere il registro dettagliato.
Dennis Golomazov,


5

Un altro buon posto in cui cercare è /var/log/messagessu CentOS per errori come questo dal cron.daily/etc/cron.daily/logrotate

logrotate: ALERT exited abnormally with [1]

Puoi anche eseguire manualmente la modalità debug e verificare la presenza di errori:

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

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


2

Se si esegue logrotateda cron e non si reindirizza l'output, l'output, se presente, andrà all'e-mail per qualunque ID stia eseguendo il processo cron. Reindirizzo il mio output su un file di registro.

Per esempio:

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

1

Verificare le /etc/logrotate.confimpostazioni di configurazione globali che potrebbero influire sulle attività configurate tramite/etc/logrotate.d/


0

Quando logrotate non ruota i log o entra nello stato non riuscito, è una buona idea eseguire il logorate manualmente in modalità debug per vedere quali errori elenca, come questo:

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

Questo comando verifica la rotazione dei registri per tutti i servizi in cui sono presenti file /etc/logrotate.d. Se elenca errori (come errori causati da voci di registro duplicate), saprai perché logrotate ha dei problemi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.