Wir verwenden tail, um mehrere Protokolle fortlaufend zu überwachen, aber wenn ein Protokoll gedreht wird, hört das Tail für diese Datei auf.
Soweit ich weiß, liegt das Problem darin, dass beim Drehen des Protokolls eine neue Datei erstellt wird und der laufende Tail-Prozess nichts über dieses neue Dateihandle weiß.
Vom mann schwanz :
In diesem Fall
-F
wäre es also richtig , die Option zu verwenden.quelle
Die genaue Antwort hängt von Ihrem Betriebssystem ab - wird aber in vielen Fällen
tail -F
das Richtige tun.quelle
tail -F oder tail --follow = name
quelle
IMHO ist es ein wenig seltsam, Ihre Protokolldatei nach GRÖSSE anstatt nach Datum zu ändern. Die meisten Systemprotokolle (unter Unix oder Linux) werden wöchentlich oder monatlich und nicht nach Größe gewechselt. Dies ist etwas, das ich aus verschiedenen Gründen mag, und auch etwas, das, falls implementiert, Ihr Problem lösen würde.Acht Jahre später weiß ich nicht, wovon zum Teufel ich hier sprach: Es gibt Unmengen von Stellen, an denen Sie nach Größe drehen möchten, da tägliche / wöchentliche / monatliche Rotationen zu MASSIVEN Dateien führen können, die schwerwiegende Probleme verursachen können.
Aus einer erfahreneren Perspektive ist die eigentliche Frage, warum Sie eine Datei, die so schnell wächst, dass Sie sie mehr als täglich drehen, in Ruhe verfolgen möchten. Es wäre, als würde man den Matrix-Stream von beobachten.
Heutzutage sollten Sie sich besser mit einer Big-Data-Protokollaggregation wie Splunk oder Sumologic befassen, bei der Protokollereignisse in Klassen gefiltert und basierend auf bestimmten Protokollwerten ausgelöst werden können ... Sie müssen überhaupt keine Live-Protokolle mehr anzeigen.
quelle
Ich verwende den Befehl auf meinem Produktionsserver:
quelle
Für Ihre Zwecke ist es vielleicht etwas zu robust, aber Splunk verfügt über eine Tail-Funktion, mit der Sie genau das tun können, was Sie wollen. Es ist kostenlos für bis zu 500 MB / Tag, aber wenn Ihre Daten darüber hinausgehen, sind sie die Kosten nicht wert.
quelle