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

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

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

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

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

sudo chmod 770 -R /path/to/directory

То, что я ищу:

  • Способ уменьшения ЦП использование во время этого вызова
  • Возможная фильтрация файлов, которым требуются обновленные разрешения
3
задан 20 November 2017 в 18:27
2 ответа

Используйте 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 {} \;
4
ответ дан 3 December 2019 в 05:39

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

1
ответ дан 3 December 2019 в 05:39

Теги

Похожие вопросы