首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果Tomcat停止,删除catalina.out安全吗?

如果Tomcat停止,删除catalina.out安全吗?
EN

Stack Overflow用户
提问于 2021-06-27 11:03:56
回答 2查看 583关注 0票数 1

我的catalina.out文件有37 GB,这似乎妨碍了我的应用程序在linux (Centos)服务器上正确运行,因为该文件占用了我所有的服务器空间。我从没想过日志文件会这么大。停止Tomcat (Tomcat9)并删除catalina.out是否安全(我没有测试服务器可以尝试)?当我再次启动Tomcat时是否创建了一个新的catalina.out文件?

还是说这样做更好

代码语言:javascript
复制
 sudo echo > catalina.out

正如所描述的这里。这个命令实际上是做什么的?

无论如何,我需要停止Tomcat来更新我的应用程序,而且我不需要存储旧的日志文件。那么,保持catalina.out小的最好方法是什么呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-27 12:46:28

即使Tomcat正在运行,您也可以安全地截断(即用空字符串替换内容) catalina.out文件,这可以通过多种方式完成:

代码语言:javascript
复制
cat > catalina.out
# or
truncate catalina.out

删除文件时Tomcat也可以工作,但是在运行Tomcat时会产生很大的副作用: Tomcat仍然会将数据追加到已删除的文件中,直到Tomcat关闭时才会释放空间。

为了使catalina.out保持较小,您应该:

  • ConsoleHandlerlogging.properties (.handlershandlers)中删除:记录到ConsoleHandler的数据也记录到catalina.<date>.log
  • 确保应用程序的日志记录系统不会登录到标准输出/标准错误,而是登录到一个正确旋转的文件中。
票数 1
EN

Stack Overflow用户

发布于 2022-05-07 06:17:18

如果catalina.outtomcat停止后被删除,那么一旦tomcat再次启动,它将创建一个新的catalina.out,并且是完全安全的。如果您在运行catalina.out时删除了tomcat,它将继续记录到已经删除的catalina.out (tomcat保存文件的引用),因此空间不会被释放。因此,您需要重新启动tomcat服务器来释放空间。不建议这样做。

catalina.out服务器停止时,删除/移动tomcat不会有任何问题。

但在公众使用的tomcat上运行的关键应用程序中,这将不是一个很好的解决方案,因为会有停机时间。

实际上,您可以使用下面的命令清除catalina.out文件的日志,而无需停止tomcat。

代码语言:javascript
复制
sudo cat /dev/null > /opt/tomcat/apache-tomcat-9.0.37/logs/catalina.out  

为了使catalina.out更小,并消除旧日志,可以使用以下两种方法之一:

  1. 您可以使用上面的Linux命令并将其添加到CronScheduler中,以便根据需要每天/每周/每月或每年运行。
  2. logrotate中使用Linux工具。它是Linux中的一个日志管理命令行工具.这可以在不同的条件下旋转日志文件。特别是,,我们可以在固定的持续时间内旋转日志文件,或者如果文件已经增长到一定的大小。,您可以单击这里获取更多有关此文件的信息。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68150470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档