Come posso monitorare cosa sta facendo logrotate?


51

Come posso monitorare cosa sta facendo logrotate in Ubuntu? L'attività di logrotate può essere monitorata?


bene potresti andare a vedere quali descrittori di file ha aperto il processo ... Forse prova a spiegare quale problema esatto hai? Stai cercando di eseguire il debug dei tuoi script? Prestazioni di script predefiniti / di terze parti?
Hubert Kario,

Risposte:


55
cat /var/lib/logrotate/status 

Per verificare se un determinato registro sta effettivamente ruotando o meno e per controllare l'ultima data e ora della sua rotazione, controllare il file / var / lib / logrotate / status. Questo è un file ben formattato che contiene il nome del file di registro e la data in cui è stato ruotato l'ultima volta.

Preso da:

https://www.digitalocean.com/community/articles/how-to-manage-log-files-with-logrotate-on-ubuntu-12-10


16
Troverai questo file come /var/lib/logrotate.statussui sistemi Red Hat.
Michael Hampton

1
ecco una guida completa alla risoluzione dei problemi di logrotate nei sistemi Red Hat: access.redhat.com/solutions/32831
Gaia

Considerando Ubuntu, cat /var/lib/logrotate/status mostra solo l' attività di logrotate avviata dall'utente root . I cronjob di altri utenti possono attivare la propria attività di logrotate, ad esempio quando il loro crontab include una voce come 0 0 * * * /usr/sbin/logrotate $HOME/logrotate/logrotate.conf --state $HOME/logrotate/logrotate-state. Quella attività di logrotate verrebbe scritta su file $HOME/logrotate/logrotate-state, $HOMEessendo la home directory dell'utente.
Abdull,

Nei sistemi RedHat ancora più recenti (almeno in RHEL 7.6) il file di stato è ora disponibile /var/lib/logrotate/logrotate.status.
Richlv,

13

Puoi provare a eseguire logrotate in modalità debug o dettagliata:

-d     Turns  on  debug mode and implies -v.  In debug mode, no changes
          will be made to the logs or to the logrotate state file.

-v, --verbose
          Display messages during rotation.

Questo aiuta questo quando logrotate viene avviato come cron? Voglio dire, c'è la possibilità di registrare il comportamento di logrotate in un file di registro?

2
/ usr / sbin / logrotate -v /etc/logrotate.conf &> /var/log/logrotate.log
kernelpanic

sudo logrotate -v /etc/logrotate.conf &> /var/log/logrotate.log bash: /var/log/logrotate.log: autorizzazione negata

1
@dude: se stai provando a farlo dalla riga di comando e stai ricevendo quell'errore, dovrai farlo in questo modo: sudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log >/dev/null( assicurati di avere -a).
Dennis Williamson,

@Dennis quando provo a farlo anche se crea il logrotate.log ma ha 0 KB e il processo non si ferma al terminale e attende con un cursore lampeggiante.

9

In Suse Linux la distribuzione è così:

cat /var/lib/logrotate.status

AWS AMI Linux ha la stessa struttura di stato di logrotate
Victor Perov,

5

Vari registri vengono ruotati su varie frequenze in base al file di configurazione (/etc/logrotate.conf) e / o alla directory (/etc/logrotate.d). I nomi possono variare in base alle diverse distribuzioni. La configurazione può specificare azioni pre e / o post rotazione. I nomi dei file ruotati e la data dell'ultima rotazione sono nel file state (/ var / lib / logrotate / state).

Logrotate non dispone di funzionalità di registrazione. Le azioni di ricarica / riavvio avviate verranno registrate in base alla registrazione per il programma su cui si sta eseguendo l'operazione.

Il modo più semplice per farlo sarebbe modificare /etc/cron.daily/logrotateper includere l' -vopzione. Dettagli sulla configurazione e le opzioni di logrotate sono disponibili con il comando man logrotate.


3

Amico, puoi controllare le impostazioni di logrotate, di solito in /etc/logrotate.conf.

Le distro moderne hanno un logrotatefile di configurazione specifico nella /etc/logrotate.ddirectory.

ad es. per nginx

  /var/log/nginx/*.log {
    weekly
    missingok
    rotate 52

Conserverà il file per 52 settimane (un anno). La rotazione è settimanale.


Nota: user56548 era "Amico"

inserisci qui la descrizione dell'immagine


Probabilmente intendevi rotate 365o weekly. La rotazione giornaliera con rotate 52manterrà 52 giorni di log, ovviamente.
temoto,

@temoto grazie, in realtà eraweekly
Anello Ø
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.