Visualizzazione di un file di registro "a scorrimento"


28

Tramite la riga di comando, ho un file di registro di cui vorrei tenere traccia.

Quello che voglio è, fondamentalmente, un tailaggiornamento che aggiorni quando il registro viene aggiornato facendo scorrere il testo verso l'alto man mano che vengono aggiunte nuove righe al file di registro.

C'è qualcosa là fuori che lo fa senza dover scrivere del codice?

Risposte:


35

tailha l' -fopzione:

Dalla manpagina:

-f, --follow [= {name | descriptor}] genera dati aggiunti man mano che il file cresce; -f, --follow e --follow = descrittore sono equivalenti

Pertanto, se si digita:

tail -f [path_and_name_of_logfile] - vedrai l'output nel terminale quando viene aggiunto il file di registro stesso.

NB [path_and_name_of_logfile]è il parametro, quindi per fare un esempio:

tail -f /var/log/messages

Se si combina con l' -n [number_of_lines]opzione, è possibile avviare l'output dall'ultimo [numero_di_line] nel file, ad esempio

tail -n 10 -f /var/log/Xorg.0.log

inserisci qui la descrizione dell'immagine


Alcuni programmi cambieranno periodicamente il loro file di registro, spostando quello vecchio con un nuovo nome (es. Log.0) e ricominciando.

NB logrotate fa questo per registrare i file per altri programmi che non lo fanno da soli.

tail -f continuerà a seguire il vecchio file dopo che è stato rinominato.

tail -F seguirà il file per nome, quindi passerà a seguire il nuovo file.


entrambe le risposte sono esatte ... non si rendeva conto che Tail aveva quell'opzione. ottieni il controllo per le informazioni extra.
WernerCD,

A parte questo, ci sono anche alcuni fantastici script là fuori per colorare il tuo registro di coda. un esempio che viene in mente è colorize.pl e lo si ottiene eseguendo il piping attraverso lo script colorize. ad esempio: tail -f / var / log / messages | /home/me/colorize.pl
lazyPower

@lazyPower Nice pure. Dovrò armeggiare con quello, anche se non penso che sarà molto utile nella mia situazione attuale.
WernerCD,

18

Sebbene tailsia certamente il solito modo per farlo, va notato che lessha la stessa funzione e talvolta è più utile.

Se hai aperto un file con less, puoi premere Shift+ Fper farlo seguire al file (cioè mostrerà nuove righe, proprio come tail -ffa). Puoi uscire da questa modalità con Ctrl+C

Puoi anche iniziare lesscon l' +Fopzione, nel qual caso inizierà in quella modalità. In generale, +può essere utilizzato per fornire "comandi da tastiera" a lesscui verrà eseguito all'avvio.

L'utilizzo lessper questo ha il vantaggio di poter facilmente cercare il file o visualizzare altre aree in caso di necessità. L'ho fatto spesso con i file di registro, ad esempio.


Mai sentito parlare di "follow" (più, meno, coda, gatto). Buono a sapersi.
WernerCD,

1
Concordato. Preferisco di meno. Ctrl-C interromperà lo scorrimento quando si individua qualcosa di interessante, quindi b per scorrere indietro o f avanti e / o? per cercare avanti o indietro. g ti porterà all'inizio del file e G alla fine. Tutto ciò di cui hai bisogno.
Martin Dow,


4

tail ha due implementazioni per seguire e generare i dati che vengono aggiunti a un file

  • seguire il descrittore di file
  • seguire un file con un certo nome

Con il parametro -f, --followe --follow=descriptor, tailsegue il descrittore di file. Questo metodo consente di seguire il file attraverso una ridenominazione ma il rilevamento si interrompe quando il file viene ruotato (viene creato un nuovo file con un descrittore di file diverso).

Quando si seguono i file che vengono ruotati, utilizzare --follow=nameo -Fparametro uguale a --follow=name --retry. In questo modo tailriaprirà periodicamente il file per superare la possibile rotazione.


1

Penso che ccze sia lo strumento giusto per te.

Fa la stessa cosa di colorize. Puoi guardare il registro scorrere verso il basso, ma è più facile da leggere, perché le linee sono stampate con i colori (errori in rosso e così via). Puoi provarlo rapidamente con qualcosa del genere:

tail -f /var/log/syslog | ccze
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.