最快改变整个设备权限的方法(xfs)

最快改变整个设备权限的方法(xfs)

我需要对驱动器上的 150 万个文件进行 chown。我目前正在执行:

sudo chown -R www-data:www-data /root-of-device

但运行时间太长了。我想知道是否有某种超快的低级方法来改变驱动器上的每个文件。

答案1

使用xargs -p或 GNUparallel可以大大加快速度。

答案2

不幸的是,我认为没有这样的事情,但如果有的话我会很惊喜。你可以用 C 编写自己的实现并对其进行大量优化。然而,成功与否取决于优化程度chown是开始。考虑到它是核心实用程序之一,我认为它相当优化。此外,您很可能受到 i/o 速度的限制。

我成功地避免了lsR M通过管道传输结果寻找参数,假设一个目录中有很多文件,即:

find /path/* | xargs rm

因此,大胆猜测一下,也许这可以加快chown,以防递归扫描文件系统的速度比寻找

sudo find /path/* | xargs chown www-data:www-data

答案3

我也在使用 Amazon EC2,并且遇到了这个问题。有两件事:

修复当前情况:您必须处理速度缓慢的问题。也许您可以使用“screen”或类似的东西,以便该过程可以在后台继续。

修复未来的情况:您可以查看上游并首先查看文件是如何生成的。由于您提到了 www-data,我假设文件的使用者是 Apache。如果文件是从另一个程序(NFS、Samba、SSH 等)中删除的,请确保这些程序将用户:组设置为 www-data:www-data。

相关内容