我的catalina.out文件有37 GB,这似乎妨碍了我的应用程序在linux (Centos)服务器上正确运行,因为该文件占用了我所有的服务器空间。我从没想过日志文件会这么大。停止Tomcat (Tomcat9)并删除catalina.out是否安全(我没有测试服务器可以尝试)?当我再次启动Tomcat时是否创建了一个新的catalina.out文件?
还是说这样做更好
sudo echo > catalina.out正如所描述的这里。这个命令实际上是做什么的?
无论如何,我需要停止Tomcat来更新我的应用程序,而且我不需要存储旧的日志文件。那么,保持catalina.out小的最好方法是什么呢?
发布于 2021-06-27 12:46:28
即使Tomcat正在运行,您也可以安全地截断(即用空字符串替换内容) catalina.out文件,这可以通过多种方式完成:
cat > catalina.out
# or
truncate catalina.out删除文件时Tomcat也可以工作,但是在运行Tomcat时会产生很大的副作用: Tomcat仍然会将数据追加到已删除的文件中,直到Tomcat关闭时才会释放空间。
为了使catalina.out保持较小,您应该:
ConsoleHandler从logging.properties (.handlers和handlers)中删除:记录到ConsoleHandler的数据也记录到catalina.<date>.log,发布于 2022-05-07 06:17:18
如果catalina.out在tomcat停止后被删除,那么一旦tomcat再次启动,它将创建一个新的catalina.out,并且是完全安全的。如果您在运行catalina.out时删除了tomcat,它将继续记录到已经删除的catalina.out (tomcat保存文件的引用),因此空间不会被释放。因此,您需要重新启动tomcat服务器来释放空间。不建议这样做。
当catalina.out服务器停止时,删除/移动tomcat不会有任何问题。
但在公众使用的tomcat上运行的关键应用程序中,这将不是一个很好的解决方案,因为会有停机时间。
实际上,您可以使用下面的命令清除catalina.out文件的日志,而无需停止tomcat。
sudo cat /dev/null > /opt/tomcat/apache-tomcat-9.0.37/logs/catalina.out 为了使catalina.out更小,并消除旧日志,可以使用以下两种方法之一:
Linux命令并将其添加到CronScheduler中,以便根据需要每天/每周/每月或每年运行。logrotate中使用Linux工具。它是Linux中的一个日志管理命令行工具.这可以在不同的条件下旋转日志文件。特别是,,我们可以在固定的持续时间内旋转日志文件,或者如果文件已经增长到一定的大小。,您可以单击这里获取更多有关此文件的信息。https://stackoverflow.com/questions/68150470
复制相似问题