如何在rails app中使用磁盘配额?

stc*_*atz 0 ruby linux ruby-on-rails quota

我想在rails app中使用linux配额来限制用户在磁盘上的空间使用.但我目前的实现将保存用户的附件,因为他们拥有哪个启动rails应用程序的人.我是否需要在Linux服务器上创建每个用户并为其分配磁盘配额?

那么,有没有rails插件/宝石允许我这样做?什么是github解决方案?它们不仅限制了附件的大小,还限制了用户的git存储库.谢谢.

bur*_*uru 5

最好在应用程序级别限制用户的磁盘空间使用,而不使用操作系统级别的工具.

作为一个简单示例,添加disk_quota和current_disk_usage字段到用户模型,current_disk_usage在每次成功上载文件后更新 .在每次上传文件之前,如果上传的文件大小为+ current_disk_usage> ,则抛出异常disk_quota.

这是一种更通用和跨平台的方法.这样您就不会限制自己使用Linux操作系统,可以将文件和应用程序服务器存储在不同的计算机上,可以将文件存储在Amazon S3上等等.此外,它更易于维护.