【问题标题】:JetS3t fills up my /tmp directory. How should I remove the old files?JetS3t 填满了我的 /tmp 目录。我应该如何删除旧文件?
【发布时间】:2012-04-30 22:12:38
【问题描述】:

我正在 Linux 上开发一些 HTTP 服务器软件,它使用 JetS3t 从 S3 检索文件。这些文件都在 5MB 左右。随着时间的推移,JetS3t 会在 /tmp 目录中创建大量 *.tmp 文件。

但是,由于这一切都在永远不会重新启动的服务器上运行,因此文件永远不会被丢弃。相反,它们最终会填满根分区,从而导致许多问题(如 HTTP 连接断开等)

有没有办法配置 JetS3t,使其自行清理?

谢谢!

【问题讨论】:

  • 对于那些投票结束的人:我认为这不属于 ServerFault,因为这是一个 JetS3t 问题,而且我相信很多使用 S3 和 Java 的人都在使用该框架。

标签: java linux amazon-s3 jets3t


【解决方案1】:

我想出了一个不优雅但可行的解决方案。我只是添加了一个定期运行以下命令的 cron 作业:

find /tmp/*tmp -amin +10 -exec rm -f {} \;

基本上,find 会找到至少十分钟前访问过的所有 JetS3t 的 tmp 文件(感谢-atime +10),然后将其删除。

这模仿了某些系统上存在的tmpreapertmpwatch 的行为。对于使用这些应用程序的其他人,请注意,因为它们可以促进一些 setuid exploits. 我意识到我的方法也可能容易受到相同的攻击,但现在我别无选择。

【讨论】:

  • FWIW,我仍然很想听听建议。 :)
  • 请记住,许多文件系统都使用noatime 标志挂载,该标志禁用atimes 以减少负载(因为atimes 需要写入,即使您只是在阅读内容)。如果它对您有用,您很可能确实启用了 atimes,但如果您更改为不同的系统,它们可能会被默认禁用。
猜你喜欢
  • 1970-01-01
  • 2012-03-01
  • 2021-07-25
  • 1970-01-01
  • 2015-01-03
  • 1970-01-01
  • 1970-01-01
  • 2020-01-27
  • 1970-01-01
相关资源
最近更新 更多