Große Logs zeilenbasiert per $ tail einlesen

Es gibt ja lustige Provider, die die Logs (error oder/und access) nicht wenigstens monatlich aufräumen, zippen und als Archiv irgendwo hinschieben. So muss man gelegentlich mit Log-Dateien arbeiten, die mehrere Gigabyte groß sind. Um den Lieblings-Texteditor nicht zu verärgern, hilft hier ein Wechsel in die Bash und - für einfache Szenarien - der Textfilter tail.

Zumindest wenn es um Brot-und-Butter Probleme geht, wie eine Webseite die plötzlich nur noch als weiße Leinwand daher kommt, ist ein schneller Blick ins error.log des Servers von Nöten.

Logs im Giga-Bereich in einem Texteditor zu öffnen ist zumeist eher ein holpriges Vergnügen (wenn es überhaupt geht). Der Umweg über die Bash bietet sich an. Mit Hilfe des Textfilter tail, der auf allen unixbasierten Betriebssystemen zur Verfügung steht, ist dies eine Sache einer Zeile:

$ tail -n [X] /pfad/zur/Datei

Das [X] steht hier für die Anzahl der Zeilen, die man anzeigen lassen möchte. Wobei der Zeiger vom Ende Richtung Anfang der Datei zählt. Folgendes Beispiel also liest die letzten 100 Zeilen der Datei aus:

$ tail -n 100 /pfad/zur/Datei

Die Beispiele eigenen sich natürlich nicht für ein gezieltes Durchsuchen der Logs. Bei aktuellen Problemen, für die zumeist nur die letzten Einträge relevant sind, kann die Methode aber durchaus hilfreich, bzw. ausreichend sein.