我有一个遗留应用程序,它会生成大量日志消息。我希望能够每分钟(左右)旋转文件,但不会丢失/截断任何消息。该应用程序无法自行更改文件,因此我需要在外部进行更改。在网上冲浪我看到了很多使用建议,cp
然后是 acat /dev/null
但由于我的应用程序生成了几乎连续的消息流,因此在此过程中会丢失一些消息。
你有什么想法 ?
使日志文件成为一个 FIFO ( man mkfifo
) 并在读取端放置一个进程,将其输入分成有限大小的文件。
mkfifo /path/to/logfifo.app_xy
split ... </path/to/logfifo.app_xy &
/bad/app
Run Code Online (Sandbox Code Playgroud)