我有一个长时间运行的进程,我预计日志文件会达到数百 GB。该程序是预编译的二进制文件 - 因此我无法修改代码中的逻辑。
是否有类似工具的命令(如tee
)可以将我的输出重定向到该命令。此工具会将我长时间运行的进程的标准输出写入磁盘,并在达到特定限制(例如 1GB)时立即开始写入新文件。
我的想法如下:
%> long-running.sh | responsible-logger --max-length 1G output%02d.log
答案1
日志旋转是 unix 的一个强大工具,可以将任意数量的日志拆分为给定属性的块。一个较小但更标准的工具是分裂学习曲线更短:http://linux.die.net/man/1/split