UNIXプロセスからの出力をキャプチャしたいが、最大ファイルサイズを制限したい、あるいは新しいファイルにローテーションしたい。最大ファイルサイズを制限するか、新しいファイルにローテーションする
私はlogrotateを見ましたが、リアルタイムでは動作しません。私が理解するように、それは並行して実行される「クリーンアップ」ジョブです。
正しい解決策は何ですか?私はそれを行うための小さなスクリプトを書くだろうと思うが、私は、既存のテキストツールで簡単な方法があることを望んでいた。
は想像:
my_program | tee --max-bytes 100000 log/my_program_log
は、常に最新のログファイルへの書き込み... を与えるだろう:それは満たされるにつれて、その後 ログ/ my_program_log
を.../my_program_log000001を記録し、新しいログを開始するには、名前を変更します/ my_program_log。
Bah ... Bash(および他のいくつかのシェル)の>()演算子は忘れました。私はそれをあまり使用しません。あなたのものは最も簡潔な答えです。 – kevinarpe