多くのログメッセージを生成するレガシーアプリケーションがあります。メッセージを失ったり切ったりすることなく、毎分ファイルを回転できるようにしたいです。アプリケーション自体はファイルを変更できないため、外部で変更する必要があります。 Webサーフィン中にこの機能を使用するという提案がたくさんありましたが、cp
私のcat /dev/null
アプリケーションはほぼ連続したメッセージストリームを生成するため、一部のメッセージはその過程で失われました。
どんな考えがありますか?
答え1
ログファイルをFIFO(man mkfifo
)にし、入力を制限されたサイズのファイルに分割する読み取り側プロセスを配置します。
mkfifo /path/to/logfifo.app_xy
split ... </path/to/logfifo.app_xy &
/bad/app
答え2
おそらくlogrotate
ツールはこれを処理できます。