我在几个SAAS网站上看到人们存储数据,网站跟踪他们服务器上的数据量。他们向用户显示该信息。
在rails上使用ruby如何做到这一点?似乎有足够多的网站这样做,必须有一个我不知道的标准方式。或者每个人都在实施自己的解决方案吗?
如果每个人都实施了自己的解决方案,那么这是一个很好的appraoch使用:
`du -s <directory>`
只是解析数据。
答案 0 :(得分:1)
全部取决于网站如何存储实际数据,以及有关其用户上传到其中的对象的元数据。数据完全可能不存储在传统文件系统(例如S3)上。因此,像du
这样的情况不起作用。
因此,如果您将元数据存储在数据库中,包括大小,您只需通过查询获取上传大小的总和,而不必点击底层文件系统......
答案 1 :(得分:0)
du
对于这类事情来说是一个非常好的工具,它可能比使用Find手动滚动更快,但在解析输出时你需要小心。 / p>
目录在名称中包含异域字符并不罕见,其中包括明显的空格,以及不常见的新行。这使得如果有人这样做,解析du
的输出有些不可靠:
% mkdir "foo
1234 bar"
如果这不是什么大问题,那就别忘了。否则你需要手动递归并进行数学运算,这可能需要一段时间才能在大型文件系统上使用Ruby解释器。