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.