我有一个长时间运行的进程,它将其日志文件写入stdout
. 我想将此输出保存到不同的文件,自动维护这些文件(如删除/归档旧文件),而无需重新启动主进程。
解决方案是将输出发送到文件 ( process > log.txt
) 并logrotate
在其上使用,但logrotate
需要重新启动程序,这是不可能的。
另一种是将输出通过管道传输到cronolog
( process | cronolog
),但在这种情况下,旧文件不会被删除/存档,这意味着我必须制作一个程序来为我进行维护。
最好的办法是能够同时使用这两个实用程序,因为cronolog
我不需要重新启动进程,并且logrotate
会完全按照我的需要维护旧的日志文件。有没有办法让这两个程序协同工作?如果没有,这个问题有什么好的解决方案?