如何每分钟自动更改/轮换日志文件?

如何每分钟自动更改/轮换日志文件?

我有一个遗留应用程序正在生成大量日志消息。我希望能够每分钟(左右)旋转一次文件,但不会丢失/截断任何消息。该应用程序无法自行更改文件,因此我需要在外部进行更改。在网上冲浪时,我看到了很多建议使用,cpcat /dev/null由于我的应用程序生成几乎连续的消息流,因此一些消息在此过程中丢失。

你有什么想法 ?

答案1

将日志文件设为 FIFO ( man mkfifo) 并在读取端放置一个进程,将其输入分成有限大小的文件。

mkfifo /path/to/logfifo.app_xy
split ... </path/to/logfifo.app_xy &
/bad/app

答案2

也许是logrotate工具可以处理这个问题。

相关内容