GNU/Linux >> Linux Esercitazione >  >> Linux

Monitora continuamente i tronchi con la coda che occasionalmente vengono ruotati

Soluzione 1:

Ah, c'è una bandiera per questo.

invece di usare tail -f /var/log/file dovremmo usare tail -F /var/log/file

tail -F si traduce in tail --follow=name --retry come in;

  • --follow=name :segue il nome del file invece del descrittore del file
  • --retry :se il file è inaccessibile, riprova più tardi invece di morire

Soluzione 2:

# tail --follow=mylog.log

Da coda di uomo :

With --follow (-f), tail defaults to  following  the  file  descriptor,
       which  means that even if a tail’ed file is renamed, tail will continue
       to track its end.  This default behavior  is  not  desirable  when  you
       really want to track the actual name of the file, not the file descrip‐
       tor (e.g., log rotation).  Use --follow=name in that case.  That causes
       tail  to track the named file by reopening it periodically to see if it
       has been removed and recreated by some other program.

Quindi in questo caso usando il -F l'opzione sarebbe corretta.

-F     same as --follow=name --retry

Soluzione 3:

La risposta esatta dipende dal tuo sistema operativo, ma in molti casi tail -F farà la cosa giusta.

Soluzione 4:

tail -Per tail --follow=name

Soluzione 5:

IMHO, è un po' strano cambiare il tuo file di log per SIZE piuttosto che per data. La maggior parte dei log di sistema (in unix o linux) ruota su base settimanale o mensile, e non in base alle dimensioni... Questo è qualcosa che mi piace per vari motivi, e anche qualcosa che, se implementato, risolverebbe il tuo problema.

Otto anni dopo, non so di cosa diavolo stavo parlando qui:ci sono un sacco di posti in cui vuoi ruotare per dimensione, perché le rotazioni giornaliere/settimanali/mensili possono produrre file ENORMI che possono causare seri problemi.

Da una prospettiva più esperta, la vera domanda è perché vorresti sederti e seguire continuamente un file che sta crescendo così velocemente da ruotarlo più che ogni giorno... Sarebbe come guardare lo streaming di Matrix.

Al giorno d'oggi faresti meglio a esaminare alcune aggregazioni di log di big data come Splunk o Sumologic, dove può filtrare gli eventi di log in classi e attivarli in base a valori di log specifici... Non c'è bisogno di guardare i log in tempo reale.


Linux
  1. Avviso con nftw

  2. Come eseguire il tail -f dell'ultimo file di registro con un dato modello

  3. Rimuovere i file elencati in un file di testo

  4. Installazione dei repository yum specificati nel file kickstart

  5. È garantito che due sottodirectory con la stessa radice si trovino sullo stesso file system montato?

10 Comando rapido di coda di Linux con esempi

Comando coda di Linux

Comando Tail Linux con esempi

Comando Linux WC con esempi

Elencare tutte le directory che non contengono un file con un nome file specificato?

Gestire i log con Logrotate su Ubuntu