Posso reduzir o uso da CPU em um grande comando recursivo find + chmod?

2

Estou usando o seguinte comando para executar correções de permissões:

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

Existem muitos milhares de arquivos para atualizar as permissões. Também aumenta o uso da CPU durante a execução.

Uma chamada subsequente que modifica mais as permissões de arquivo usando uma atualização recursiva chmod pura não aumenta a CPU

sudo chmod 770 -R /path/to/directory

O que estou procurando:

  • Uma maneira de reduzir o uso da CPU durante essa chamada
  • Filtrando potencialmente para arquivos que precisam das permissões atualizadas
por Dez 20.11.2017 / 17:27

2 respostas

3

Use nice para definir uma prioridade de agendamento mais baixa ao executar o comando ou use renice para alterar a prioridade de um processo já em execução.

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

Você pode alterar a localização para não retornar arquivos que já correspondem ao modo que você está definindo também:

sudo nice -n 19 find \! -perm 0470 -and -type f -exec chmod 470 {} \;
    
por 20.11.2017 / 17:46
1

O pico na CPU é devido à atividade do disco, então a única maneira de reduzir a CPU é um disco mais rápido.

    
por 20.11.2017 / 17:45