1

次を使用して、スクリプト出力をファイルに出力できることを知っています。

/path/to/script.sh >& path/to/output.log

問題は、シェルが実行するJavaで無限ループを作成しているため、出力ファイルが非常に大きくなるということです。

ログを分割するために Linux コマンドを使用して最大ファイル サイズで出力を分割する方法はありますか、それとも出力を Java の代わりにコンソールに変更して最大ファイル サイズでファイルを分離する必要がありますか?

4

2 に答える 2

2

multilogと呼ばれるものがあります、これを試してください:

/path/to/script.sh |[multilog][2] s2000 ./logdir

スクリプトを実行して stdout を output.log にキャプチャし、2000 バイトを超えるとローテーションします。

于 2013-08-14T13:43:12.503 に答える
1

はい、logrotateを使用します

logrotate は、大量のログ ファイルを生成するシステムの管理を容易にするように設計されています。これにより、ログ ファイルの自動ローテーション、圧縮、削除、およびメール送信が可能になります。各ログ ファイルは、毎日、毎週、毎月、または大きくなりすぎたときに処理される場合があります。

于 2013-08-14T13:41:57.407 に答える