次を使用して、スクリプト出力をファイルに出力できることを知っています。
/path/to/script.sh >& path/to/output.log
問題は、シェルが実行するJavaで無限ループを作成しているため、出力ファイルが非常に大きくなるということです。
ログを分割するために Linux コマンドを使用して最大ファイル サイズで出力を分割する方法はありますか、それとも出力を Java の代わりにコンソールに変更して最大ファイル サイズでファイルを分離する必要がありますか?
multilogと呼ばれるものがあります、これを試してください:
/path/to/script.sh |[multilog][2] s2000 ./logdir
スクリプトを実行して stdout を output.log にキャプチャし、2000 バイトを超えるとローテーションします。
logrotate は、大量のログ ファイルを生成するシステムの管理を容易にするように設計されています。これにより、ログ ファイルの自動ローテーション、圧縮、削除、およびメール送信が可能になります。各ログ ファイルは、毎日、毎週、毎月、または大きくなりすぎたときに処理される場合があります。