我有一个Java应用程序,我在Unix命令提示符下运行该程序。我将stdout和stderr重定向到console.out和console.err文件中。由于记录了很多信息,因此文件大小正在增加。 我想创建一个滚动文件,当文件大小超过特定大小时,例如console.out大小超过500KB时,应创建console1.out。目前我正在使用 java MyAppName > logs/Console.out 2> logs/Console.err & 我该怎么做呢?
将结果导向像这样的 split 命令:java MyAppName | split -b500k - Console.log这将在每次超过 500k 时创建一个新文件。有关更多详细信息和选项,请参阅 split 的 man 页面。
或者您可以使用rotatelogs nohup java MyAppName 2>&1 | rotatelogs -l Console_%Y-%m-%d.log 86400 & 每天将创建一个带有今天日期的新文件。