2010-01-20 3 views
53

Ich habe eine Protokolldatei im .csv-Format in Linux, die ständig aktualisiert wird. Ich möchte die Protokolldatei anzeigen, während sie aktualisiert wird. Gibt es Linux-Befehle dafür?Eine Protokolldatei in Linux dynamisch anzeigen

+5

Dies ist wirklich bei Serverfault gehörig. – richo

Antwort

11

tail -f foo.csv

91

tail -f yourlog.csv

neu angehängten Linien kontinuierlich zeigen wird.

8

Für den Fall, dass Sie mehrere Dateien überwachen möchten, gibt es ein nettes Tool namens multitail, mit dem Sie die Ausgabe von zwei oder mehr Dateien zusammenführen und in Echtzeit verfolgen können. Mit Multitail können Sie auch in den überwachten Dateien vor- und zurück navigieren.

+0

+1 für etwas anderes als 'tail -f' –

5

tail -f und all seine Freunde sind alte Schule. multitail sieht besser aus, aber die echte Möglichkeit zu brennen CPU Ihre Log-Dateien zu beobachten ist glTail zu verwenden.

0

tail -lf logfile.csv.

Wenn Sie sich bei der GUI angemeldet haben, können Sie das Protokoll mithilfe des Mauspads dynamisch anzeigen.

60

Wie andere hingewiesen haben, ist tail -f file die häufigste Lösung. Das Problem besteht darin, dass die Ergebnisse nur weiterlaufen, und Sie können nicht zurückgehen und sie durchsuchen, es sei denn, Ihr Terminal unterstützt es und Sie haben genügend Zeilen in Ihrem Terminal gepuffert. Eine weniger bekannte Lösung, die ich mag, ist less; Wenn Sie Shift - F eingeben, wird beim Anzeigen einer Datei mit less das Ende der Datei wie tail -f angezeigt. Alternativ können Sie less mit less +F starten, um diesen Modus beim Start zu betreten. C zu stoppen nach der Datei und dann auf Seite und nach unten, Suche mit /, und verwenden Sie less wie normal - jederzeit können Sie Ctrl eingeben. Dies kann sehr hilfreich sein, wenn Sie etwas Interessantes im Protokoll sehen, aber es scrollt vom Bildschirm weg, oder wenn Sie etwas zurückgehen möchten, um etwas zu überprüfen, das Sie vielleicht übersehen haben. Wenn Sie mit der Suche fertig sind, drücken Sie erneut Shift - F, um die Datei erneut zu starten.

multitail sieht wie eine nette Lösung für die Verfolgung mehrerer Dateien in separaten Fenstern aus; Wenn Sie mehrere Dateien mit tail -f anzeigen, werden sie miteinander verschachtelt (mit Kopfzeilen, um sie zu unterscheiden), was möglicherweise nicht so ist, wie Sie sie sehen möchten.

tail -F (das Kapital ist -F, im Gegensatz -f in Kleinbuchstaben) ist ein Nicht-Standard-Flag (auf Linux, Cygwin, MacOS X, FreeBSD und NetBSD), die für das Ansehen von Protokolldateien besser funktioniert, die gedreht werden kann, gelegentlich; Es ist üblich, dass ein Prozess eine Protokolldatei umbenennt und anschließend eine neue Protokolldatei erstellt, um zu vermeiden, dass eine einzelne Protokolldatei zu groß wird. tail -f wird weiterhin der alten Datei folgen, die nicht mehr die aktive Protokolldatei ist, während tail -F nach einer neuen Datei suchen wird, die erstellt wird, und stattdessen diesem folgen. Wenn Sie less verwenden, um der Datei zu folgen, können Sie das --follow-name Flag verwenden, um less auf diese Weise zu handeln.

(danke für die Tipps ephemient auf less +F und less --follow-name)

+3

' less + F' wird automatisch in den Follow-Tail-Modus eintreten und 'less --fol- fername' wird mehr wie' tail -F' wirken. Ich finde diese ziemlich nützlich :-) – ephemient

+0

Ah, danke. Ich war mir der Befehlszeilenschalter nicht bewusst. –

+2

Bonus: Wenn Sie etwas in weniger suchen ('/') und dann in den Tail-Modus ('F') gehen, werden Übereinstimmungen in eingehenden Zeilen hervorgehoben. –

0

vsConsole Fileview helfen können, wenn Sie es vorziehen, Ihre Protokolle über eine Web-Anwendung zu überwachen. die Demo sehen auf http://demo.vamonossoftware.com/

Benötigt man ein Java-Applikationsserver laufen, bereitstellen vsConsole darauf und Agenten auf dem Server enthält die Protokolle laufen - so seine eine schwere Gewicht Lösung, als ich bin zu raten, was Sie hier benötigen. (Das ist gut für dev/Test-Teams, die nur auf einer Log-Datei klicken mögen, um zu sehen, anstatt ssh, cd, Schwanz etc)

0
less -S '-#' 4 /var/log/logfile 

-S wird den lästigen Zeilenumbruch zu stoppen.

-#4 wird der horizontale Bildlaufschritt auf vier Spalten eingestellt, anstatt auf den Standard der Hälfte des Bildschirms.

Drücken Sie die Ende-Taste, um zu aktualisieren.

+0

Sorry, habe vergessen zu überprüfen, ob die Frage noch aktiv war. –

Verwandte Themen