我可以减少大型递归 find + chmod 命令的 CPU 使用率吗?

Reb*_*lle 3 find recursive chmod

我使用以下命令来执行权限修复:

sudo find . -type f -exec chmod 470 {} \;
Run Code Online (Sandbox Code Playgroud)

有数千个文件需要更新权限。它还会在运行期间增加 CPU 使用率。

使用纯 chmod 递归更新进一步修改文件权限的后续调用不会占用 CPU 资源

sudo chmod 770 -R /path/to/directory
Run Code Online (Sandbox Code Playgroud)

我在寻找什么:

  • 在此调用期间减少 CPU 使用率的方法
  • 可能会过滤到需要更新权限的文件

Cak*_*mox 5

用于nice在运行命令时设置较低的调度优先级,或用于renice更改已运行进程的优先级。

sudo nice -n 19 find . -type f -exec chmod 470 {} \;
Run Code Online (Sandbox Code Playgroud)

您也可以将 find 更改为不返回已与您设置的模式匹配的文件:

sudo nice -n 19 find \! -perm 0470 -and -type f -exec chmod 470 {} \;
Run Code Online (Sandbox Code Playgroud)