【问题标题】:Can the rails tmp/cache/assets files be safely deleted?可以安全删除 rails tmp/cache/assets 文件吗?
【发布时间】:2013-06-04 01:33:33
【问题描述】:

我似乎在名为例如的子文件夹中有大量它们

sprockets%2F76920e6913c3390459175ac8e6dfd44a3

它们似乎包含二进制数据。

它们有什么用,为什么会有这么多,最重要的是,它们可以安全移除吗?他们需要永远的 scp。

【问题讨论】:

    标签: ruby-on-rails ruby sprockets


    【解决方案1】:

    是的!您可以删除整个 tmp 目录,它会重新创建。

    【讨论】:

    • 嘿,你对问题的其他部分有一些答案吗:里面是什么?特别是,这个目录在我的生产实例上达到了 > 1GB 的磁盘空间,我可以在生产环境下安全地删除它吗?之后我是否需要执行 rake asets:compile 或类似的操作
    • @CyrilDuchon-Doris 这些是 sprockets gem 在将 .coffee 解析为 .js 或将 .scss 解析为 .css 时生成的过渡文件(在我的情况下是几年前)——类似的东西。有时,由于服务器崩溃或意外重新加载或未包含在 .gitignore 中等原因,它们没有被清理干净。
    【解决方案2】:

    是的,您可以安全地删除它。

    删除的最佳方法是在 rails 控制台中运行以下命令:

    Rails.cache.clear
    

    【讨论】:

    • 谢谢。实际上,即使在今天,我在生产环境中也遇到了问题,其中磁盘已满,服务器不断抛出 500 个错误而没有任何日志(即使在 tmp 目录上调用简单的du -sh 也会冻结几分钟)。我想我要将此行添加到 Capistrano 任务中,每次发布新应用程序时都会运行该任务。你觉得这样可以吗?
    • 嗨@CyrilDuchon-Doris,它绝对可以防止磁盘问题 - 但请注意,用户体验我的网站速度有点慢,并且会增加对数据库的访问。您也可以使用config.action_controller.perform_caching = false。更多细节在这里:guides.rubyonrails.org/caching_with_rails.html
    • 这似乎没有释放 tmp/cache 中的任何空间。特别是在运行它之后,tmp/cache/assets/sprockets/v3.0 在我的本地机器上仍然有 1,096 个子文件夹占用 MB。
    【解决方案3】:

    有清除tmp的rake任务:

    rails tmp:clear
    

    【讨论】:

      猜你喜欢
      • 2013-10-22
      • 2020-12-09
      • 2022-01-23
      • 2014-08-09
      • 1970-01-01
      • 1970-01-01
      • 2019-12-09
      • 2018-04-15
      • 2021-03-15
      相关资源
      最近更新 更多