it-swarm.com.de

Wie erstelle ich ein "Tail-f" von protokollgedrehten Dateien?

Auf einem lang laufenden System habe ich normalerweise ein Terminal mit

$ tail -f /var/log/kern.log

oder so etwas offen.

Aber von Zeit zu Zeit muss ich einen solchen Befehl neu starten, da keine neuen Nachrichten mehr angezeigt werden.

Ich gehe davon aus, dass dies auf den Protokollrotationsjob zurückzuführen ist, der die Protokolldatei tail -f Ersetzt hat.

Wie kann ich Probleme beim Neustart vermeiden?

Kann ich tail so aufrufen, dass es den Rotationsprozess bemerkt und das Richtige tut?

(Ich stelle dieses Problem auf einem Ubuntu 11.04-System fest, das standardmäßig rsyslogd verwendet.)

111
maxschlepzig

Verwenden Sie stattdessen die Option -F:

tail -F /var/log/kern.log

Die Option -F Weist tail an, Änderungen an der Datei anhand des Dateinamens zu verfolgen, anstatt die Inode-Nummer zu verwenden, die sich während der Drehung ändert. Es wird auch weiterhin versucht, die Datei zu öffnen, wenn sie nicht vorhanden ist.

170
andcoz