我正在运行一个名为 yajsw 的工具,它会生成一个名为 wrapper.log.0 的日志文件。一段时间后我注意到它变得太大,我也无法运行 zip 命令?我可以运行 cron 作业来每天将日志文件刷新到单独的每日日志文件中吗?有什么想法吗?
答案1
看看文档似乎你可以配置 yajsw 来滚动它的日志
wrapper.logfile.maxsize
到达了
可以将 wrapper.log 文件设置为在文件达到指定大小时滚动。默认值 0 将禁用日志文件滚动。要滚动文件,请指定最大文件大小(以字节为单位)。大小可以用后缀“k”(表示千字节)或“m”(表示兆字节)缩写。例如,“10m”设置日志文件在达到 10 兆字节大小时滚动。
或以下情况之一
wrapper.logfile.rollmode
满足
控制日志文件的滚动模式。可能的值包括:
JVM - 日志文件将在 Wrapper 启动时滚动,就像 WRAPPER 模式一样。但它也会在任何重新启动的 JVM 启动之前滚动。日志文件没有最大大小限制,并且会持续增长,直到 Wrapper 或 JVM 重新启动。
日期 - 当每个日志条目被记录到文件中时,其时间戳会与当前日志文件中 YYYYMMDD 格式的标记进行比较。每当此日期发生变化时,就会打开一个新的日志文件。这样做的好处是将特定日期的所有日志条目分组到特定文件中。在没有任何日志输出的日子不会创建文件。
wrapper.logfile.maxfiles
看起来也很有趣且相关。
答案2
在 Linux 中,如果您在文件上有一个打开的文件句柄,则移动或删除文件不会影响文件句柄。因此,如果没有写入文件的进程的帮助,您无法轻松地旋转文件(它只会继续写入已删除的文件)。您需要调查 yajsw 以查看它是否支持重新打开日志文件。如果支持,您可以使用 logrotate(通常存在于 CentOS boxen 上)来旋转文件。