如何向每个用户显示存储使用情况

How to show storage usage to each user

我们有一个网络平台,允许用户上传和下载他们存储在通过 NFS 连接到 Linux 的存储中的数据。 目前大约存储了 350GB 数据。

我想在更新文件时实时向每个用户显示他们当前在网络上的存储使用情况,例如 Google 驱动器或 Dropbox,立即显示剩余磁盘 space。

我的想法是 运行 在 Linux 上执行 du 命令并向数据库发送更新查询,但 du 花费了很长时间。

有什么更好的办法可以让我实时执行此操作吗?

谢谢

由于只允许用户上传或下载数据,因此在您的存储服务器上存储的文件大小不会发生变化,因为 "Edits" 是不可能的。

如果您在将文件插入数据库时​​存储名称和位置,最好也包括上传文件的大小。 在 php 中,您可以使用 filesize().

执行此操作

这样,如果您需要获取所有用户文件的大小,您需要做的就是获取他们拥有的所有记录,并添加文件大小列。这将为您提供用户文件的精确大小,即使这些文件位于不同的服务器上也是如此。