【问题标题】:Automatically cleanup tmp directory in Unix自动清理 Unix 中的 tmp 目录
【发布时间】:2015-10-06 11:28:59
【问题描述】:

我正在使用 Play 框架实现我自己的文件缓存服务器,并将我的缓存文件放在 /tmp 目录中。

但是我不知道操作系统如何管理/tmp 目录。我想知道的是操作系统是否会自动清理一些过时的文件,或者长时间没有被访问过的文件。

我在基于 Debian jessie 的 Docker 容器中运行我的服务器。

【问题讨论】:

  • 这对您的问题并不重要,但 /tmp 是从主机操作系统安装还是在 Docker 容器内安装?
  • 我将它安装在 Docker 容器中。我认为将卷与主机操作系统一起挂载并让另一个容器进行清理会很有趣。

标签: linux unix debian-based


【解决方案1】:

您的操作系统不会清理/tmp。一些 Unix 变体在重新启动时将其清除。您需要自己执行此操作。

 find /tmp/yourpath -mtime +30 -type f -exec rm {} \;

例如。

但是 Docker 有点特殊,因为容器是一个封装层。 find 仍然可以解决问题,但您可能只是转储并重新启动您的容器“新鲜”并丢弃旧容器。

【讨论】:

  • 我不熟悉你上面的命令。它是否每 30 分钟清理一次 /tmp 目录?
  • 不。阅读find 上的手册页。它会删除任何超过 30 天的文件。并运行一次。您可以将其添加到cron 以更频繁地运行。
  • 我会修改这个解决方案,谢谢 Sobrique! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-16
  • 2014-09-23
相关资源
最近更新 更多