web-dev-qa-db-ja.com

ログローテーションされたファイルの「tail -f」を実行するにはどうすればよいですか?

長時間実行されているシステムでは、通常、

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

またはこのような何かが開いています。

しかし、新しいメッセージが表示されなくなるため、時々、そのようなコマンドを再起動する必要があります。

これは、ログファイルを置き換えたログローテーションジョブが原因であると思いますtail -f 見ていた'。

この再起動の問題を回避するにはどうすればよいですか?

tailを呼び出して、回転プロセスに気づき、正しいことを行うことができますか?

(この問題は、デフォルトでrsyslogdを使用するUbuntu 11.04システムで発生します。)

111
maxschlepzig

使用 -Fオプション:

tail -F /var/log/kern.log

-Fオプションは、ローテーション中に変更されるiノード番号を使用する代わりに、ファイル名によるファイルへの変更を追跡するようにtailに指示します。また、ファイルが存在しない場合は、ファイルを開こうとし続けます。

170
andcoz