如何使用Unix重定向重定向滚动文件中的stdout和stderr

时间:2012-02-08 07:53:52

标签: java unix

我有一个java应用程序,我从命令提示符下运行在Unix上。 我正在将stdout和stderr重定向到console.outconsole.err个文件。 文件大小正在增加,因为正在记录大量信息。

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

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

我该怎么做?

2 个答案:

答案 0 :(得分:6)

将结果传递给像这样的分割:

java MyAppName | split -b500k - Console.log

每次超过500k时,这将创建一个新文件。有关更多详细信息和选项,请参阅拆分手册页。

答案 1 :(得分:1)

或者您可以使用rotatelogs

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

这将创建一个每天都有今天日期的新文件