Назад | Перейти на главную страницу

Могу ли я уменьшить использование ЦП с помощью большой рекурсивной команды find + chmod?

Я использую следующую команду для исправления разрешений:

sudo find . -type f -exec chmod 470 {} \;

Есть много тысяч файлов, для которых нужно обновить разрешения. Это также резко увеличивает загрузку ЦП во время выполнения.

Последующий вызов, который дополнительно изменяет права доступа к файлам с использованием чистого рекурсивного обновления chmod, не вызывает скачков ЦП

sudo chmod 770 -R /path/to/directory

Что я ищу:

Использовать nice чтобы установить более низкий приоритет планирования при запуске команды, или используйте renice для изменения приоритета уже запущенного процесса.

sudo nice -n 19 find . -type f -exec chmod 470 {} \;

Вы можете изменить поиск, чтобы не возвращать файлы, уже соответствующие заданному вами режиму:

sudo nice -n 19 find \! -perm 0470 -and -type f -exec chmod 470 {} \;

Пик загрузки ЦП происходит из-за активности диска, поэтому единственный способ уменьшить ЦП - это более быстрый диск.