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 nehme an, das liegt daran, dass der rotierende Protokolljob, der die Protokolldatei ersetzt hat, tail -f
"überwacht" hat.
Wie kann ich diese Neustartprobleme vermeiden?
Kann ich so aufrufen tail
, dass es den rotierenden Prozess bemerkt und das Richtige tut?
(Dieses Problem tritt auf einem Ubuntu 11.04-System auf, das rsyslogd
standardmäßig verwendet wird.)
Antworten:
Verwenden Sie
-F
stattdessen die Option:Mit dieser
-F
Option können Sietail
Änderungen an der Datei anhand des Dateinamens 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.quelle
tail -F /var/log/kern.log
gleichbedeutend mittail -f --follow=name --retry /var/log/kern.log
?