Ruby on rails 如何让rails/ngnix清理/tmp/RackMultipart*文件?

Ruby on rails 如何让rails/ngnix清理/tmp/RackMultipart*文件?,ruby-on-rails,nginx,passenger,Ruby On Rails,Nginx,Passenger,当用户上传图像时,像这样的文件会在/tmp RackMultipart20101130-1130-1l2q8dt-0 RackMultipart20101130-1130-1t11oa9-0 RackMultipart20101130-1130-59nrpq-0 RackMultipart20101130-1130-6jdqem-0 RackMultipart20101130-11807-1usq3d8-0 RackMultipart20101130-11807-nns7dw-0 上传完成

当用户上传图像时,像这样的文件会在
/tmp

RackMultipart20101130-1130-1l2q8dt-0
RackMultipart20101130-1130-1t11oa9-0
RackMultipart20101130-1130-59nrpq-0
RackMultipart20101130-1130-6jdqem-0
RackMultipart20101130-11807-1usq3d8-0  
RackMultipart20101130-11807-nns7dw-0
上传完成后,如何让rails/nginx/passenger清理这些文件

我正在使用:

  • nginx 0.8.53
  • Phusion乘客2.2.15(mod_导轨/mod_机架)
  • RubyonRails 2.3.8
  • 回形针红宝石上传图像

首先想到的是一个带有crontab的Rake任务,可以不时清除
/tmp
目录

  • lib/tasks
    中创建一个新的Rake任务,删除
    RackMultipart*
    文件
  • 每X小时以crontab的形式执行一次Rake任务
  • (可选)用于简化步骤2(与组合使用时非常强大)

  • 这意味着最好让Paperclip清除文件,因为上述方法可能会删除Paperclip仍在使用的临时文件,但我不知道怎么做。

    如果您不想编写Rake任务,我建议安装debian/ubuntu包。可以将其配置为根据需要频繁清理
    /tmp
    (例如,删除过去一小时内未访问的文件)


    Papeclip 3.1.0的发布解决了潜在的Papeclip问题,之后我们不再看到有那么多RackMultipart*文件存在。

    据我所知,Unix系统上的
    /tmp
    目录会自动清除(如果我是对的,这会因系统而异)所以我不明白你为什么要手动操作。你能解释一下为什么要这样做吗?我正在使用linux(debian)/tmp已满,我没有完整的根访问权限来增加/tmp的大小。