【问题标题】:Tomcat Server creating Directories in tmpTomcat 服务器在 tmp 中创建目录
【发布时间】:2015-03-08 01:07:52
【问题描述】:

每次我的嵌入式虚拟 tomcat 服务器运行(spring boot)时,它都会在 /tmp/ 中创建一个名为 tomcat.##########################.8080 的目录结构(我猜 8080 是用于端口或其他东西,但 8080 是一致的)。这种结构单独并不会占用太多空间,但是在经常运行 Tomcat 服务器之后,随着时间的推移,它可能会被填满。作为可配置选项,我可以防止这种情况发生吗?

创建的路径示例如下所示: /tmp/tomcat.1185139485157901.8080/work/Tomcat/localhost/_/ SESSIONS.ser WEB-INF/等等等等等等。

【问题讨论】:

  • 我还注意到 org.apache.tomcat.embed 7.0.52 在这些临时目录中留下的数据比 8.0.23 多得多。

标签: linux tomcat server tmp


【解决方案1】:

不幸的是,嵌入式和非嵌入式 Tomcat 都需要有一个目录来存储临时文件。这是不可配置的,但是,您可以使用 setBaseDir 指定 Tomcat 存储这些临时文件的目录。

这应该是第一个名为 public void setBaseDir(String basedir) 的方法,如果您的代码中没有指定它,它将在

中查找它

system properties - catalina.base, catalina.home - $HOME/tomcat.$PORT

通过了解位置,我建议编写一个简单的计划脚本,该脚本会经常检查并删除该目录下的文件。

【讨论】:

  • 谢谢。这是一个老问题,但我几乎是这样处理的。我创建了一个 cronjob 来检查 tmp 中的目录数量,并在某个阈值后删除。
  • 这是一个非常古老的问题,但通常 /tmp 应该已经被 O/S 不时清除(参见,例如serverfault.com/questions/377348/when-does-tmp-get-cleared)。因此,您还应该考虑将 O/S 设置为适当的选项(即在 /tmp. 中配置足够的空间以及足够频繁的清洁计划,以免接近填满)
猜你喜欢
  • 1970-01-01
  • 2013-01-14
  • 2012-11-07
  • 1970-01-01
  • 2012-10-04
  • 2014-05-17
  • 1970-01-01
  • 2017-01-31
  • 1970-01-01
相关资源
最近更新 更多