如何使用Unix重定向将标准输出和标准错误重定向到滚动文件中

6

我有一个Java应用程序,我在Unix命令提示符下运行该程序。我将stdout和stderr重定向到console.outconsole.err文件中。由于记录了很多信息,因此文件大小正在增加。

我想创建一个滚动文件,当文件大小超过特定大小时,例如console.out大小超过500KB时,应创建console1.out。目前我正在使用

java MyAppName > logs/Console.out 2> logs/Console.err &

我该怎么做呢?

2个回答

12
将结果导向像这样的 split 命令:
java MyAppName | split -b500k - Console.log
这将在每次超过 500k 时创建一个新文件。有关更多详细信息和选项,请参阅 split 的 man 页面。

4

或者您可以使用rotatelogs

nohup java MyAppName 2>&1 | rotatelogs -l Console_%Y-%m-%d.log 86400 &

每天将创建一个带有今天日期的新文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接