時限回転ファイルロガーを使って、いくつかのログを生成しています。これは tool.log
というファイルにログを記録し、真夜中にこれを tool.log.<date>
に移動して新しい tool.log
を開始します
ログを監視するためにマシン上でtail -f tool.log
を実行しているのですが、深夜にtool.log
をtool.log.<date>
にリネームすると、tail
はリネームされたファイルを監視し続けています
私が期待しているのは、tail
と似たようなツールで、inodeを追うのではなく、tool.log
という名前のファイルを監視し続けることです
このようなものは存在するのでしょうか?ないのであれば、そのためにPythonで自分で書けばいいのですが
60 Hugh 2016-03-29
tail
のいくつかの実装にはこのオプションがあります
-F
--follow=name --retry
と同じ
-f
,--follow
[=
{name|descriptor}]は、ファイルの成長に応じて付加されたデータを出力します;-f
,--follow
,--follow=descriptor
は等価です
--retry
は、ファイルにアクセスできなくなっても、ファイルを開こうとし続ける
このオプションは POSIX で指定されていないので、どこでもこれに依存することはできません。いくつかの既知の実装
- GNU – は上記のように
-F
を持っています - Mac OS X, FreeBSD, NetBSD – 同じ効果を持つ
-F
オプションがあります - OpenBSD –
-f
で十分です(ファイルが入れ替わった場合(つまりinode番号が変わった場合)、tailはファイルを開き直して続行します) - ソラリス – これに相当するものはありません
- Busybox –
-F
は最近のバージョンでは利用可能ですが、ENABLE_FEATURE_FANCY_TAIL
でコンパイルする必要があります(デフォルトではコンパイルされていません)
92 Toby Speight 2016-03-29
代替案は tail -F
コマンドです
-F
オプションは、--follow=name
と--retry
オプションとの間に--follow=name
があることを意味しているので、ファイルが削除されて再度作成された場合でも、tailはあなたのファイルを監視しています
55 Oleg Bolden 2016-03-29
あなたが代替案を求めたから:
less
ユーティリティは、tail -F
の代替品になるかもしれません
以下のように実行する必要があります。less --follow-name filename.log
を実行し、Shift + Fを押します
これでtail -F
と同じ結果が得られます
5 VL-80 2016-05-11
別の方法としては、watch
コマンドを使用することもできます。この例では2秒ごとに、n秒ごとにコマンドを繰り返します
watch -n2 "tail tool.log"
ログの閲覧が終わったらコマンドを終了するには、Ctrl+Cを使用してください
4 Arronical 2016-03-31
lnavは、ファイル名に続くもう一つの素晴らしいツールです
また、ディレクトリを指定することができ、そのディレクトリ内のすべてのファイルを尾行し、他のすべての種類のきちんとした機能に加えます
3 Wayne Werner 2016-03-31
multitailはmultitail
があなたの特定のケースを処理するかどうかはわかりませんが、きっと処理してくれるでしょう
1 Andy Lester 2016-03-31