2009-09-18 70 views
2

我有一个脚本运行在打印输出的背景。为了记录目的,我将标准输出重定向到一个文件。但是我不希望这个文件永远增长,如果不用自己编写逻辑来完成翻转,那么这将是一个好方法吗? (基于日期或文件大小进行翻转)。如何翻转bash的标准输出?

回答

6

管道输出到像multilog它会处理所有的东西给你。

而且例如:

script_that_produces_output.sh |multilog s2000 ./logdir 

将要运行脚本标准输出捕获到一个名为./logdir/current文件转动它时,它是大于2000个字节。

+0

你可以举一个简单的例子来说明如何使用multilog吗? – erotsppa 2009-09-18 19:33:30

1
+0

这取决于日志程序在旋转后关闭并重新打开日志。 – Craig 2009-09-18 18:33:41

+0

'logrotate'可以发送一个信号给程序,它可以捕捉和处理它。很简单。 – 2009-09-18 19:30:29

0

除了multilog,还有一个类似的工具叫做runit suite的svlogd。您可能会发现已经打包在您的发行版中,因为daemontools(multilog)最近才成为公共领域。

相关问题