回転バッファ型ファイル記録ユーティリティ

回転バッファ型ファイル記録ユーティリティ

stdout / stderrに多くのログを生成するサーバーをデバッグしようとしています。最後のN行をファイルにリダイレクトします。tcpdump's -C&フラグ-Wの回転バッファ機能に似ています。サーバーの実行中にログを見てログを投げることができれば良いと思います(cp他のファイルで見ることができます)。これを行うことができるユーティリティはありますか?このツールについて私が知っているように、logrotateこのツールは繰り返し実行する必要があります。私はこれが私のニーズを満たしていないと思います。私が望むもの:

serverd -d | $TOOL -n 100 srv.log

...いつでもsrv.log出力の最後の100行が含まれますserverd

ベストアンサー1

ファイルまたは入力ストリームの最後のN行のみを取得するために使用できますtail

command | tail -n 100 > file

しかし、スピンストリームの最後の100行が常にログファイルにあることを望むようです。これは簡単ではありません。定期的に行を削除してログファイルを切り捨てたり、logrotateなどのシステムを使用して古いデータをスクリーニングすることもできますが、100行のFIFOタイプのログファイルを維持する簡単な方法はありません。

おすすめ記事