长时间运行的进程/将标准输出写入文件/以 X GB 块为单位进行分割

长时间运行的进程/将标准输出写入文件/以 X GB 块为单位进行分割

我有一个长时间运行的进程,我预计日志文件会达到数百 GB。该程序是预编译的二进制文件 - 因此我无法修改代码中的逻辑。

是否有类似工具的命令(如tee)可以将我的输出重定向到该命令。此工具会将我长时间运行的进程的标准输出写入磁盘,并在达到特定限制(例如 1GB)时立即开始写入新文件。

我的想法如下:

%> long-running.sh | responsible-logger --max-length 1G output%02d.log

答案1

日志旋转是 unix 的一个强大工具,可以将任意数量的日志拆分为给定属性的块。一个较小但更标准的工具是分裂学习曲线更短:http://linux.die.net/man/1/split

相关内容