将shell输出分解为文件

时间:2013-08-14 13:38:57

标签: java linux shell logging output

我知道我可以使用以下命令将脚本输出输出到文件:

/path/to/script.sh >& path/to/output.log

问题是,我在Java中进行无限循环,我的shell将运行,因此输出文件将变得非常大。

无论如何使用linux命令来打破最大文件大小的输出以分割日志,或者我必须将输出改为Java而不是控制台以最大文件大小分隔文件?

2 个答案:

答案 0 :(得分:2)

有一种叫做 multilog 的东西,试试这个:

/path/to/script.sh |[multilog][2] s2000 ./logdir

将运行脚本捕获stdout到你的output.log并在它大于2000字节时旋转它。

答案 1 :(得分:1)

是的,请使用logrotate

logrotate旨在简化对生成大量日志文件的系统的管理。它允许自动旋转,压缩,删除和邮寄日志文件。每个日志文件可以每天,每周,每月或当它变得太大时处理。