Linuxサービスは巨大なログファイルを生成しています。
現在私はcronを使って制御しています(X分ごとに最後のX行に減ります)。
*/5 * * * * root echo "$(tail -n 1000 /var/log/XXX/logger_file.log)" > /var/log/XXX/logger_file.log
これをよりきれいにするための別の方法はありますか?
文字クリッピングがサイズベースの場合(つまり、最後の1024バイトが保持されている場合)、クリッピング後に最初の行が破損する可能性があります。
もちろん、サービス自体を静かに変更することはできません。
答え1
ログの回転を試してみましたか?man logrotate
以下は参考になるガイドです。logrotateを使用してログファイルを管理する方法
答え2
curtailは、次のコマンドを使用してプログラムの出力サイズを制限し、出力の最後のXKB(この場合は200 MB)を保持します。
プログラムの実行縮小 -s 200M myprogram.log
https://github.com/Comcast/Infinite-File-Curtailer
注:私は上記のリポジトリの管理者です。ソリューションを共有するだけです。