Use xargs -p
ou GNU parallel
para acelerar consideravelmente as coisas.
Eu preciso colocar 1,5 milhão de arquivos em uma unidade. Atualmente estou fazendo:
sudo chown -R www-data:www-data /root-of-device
mas leva muito tempo para ser executado. Eu queria saber se havia algum tipo de maneira super rápida de baixo nível para chover todos os arquivos na unidade.
Eu tive algum sucesso evitando limitações de ls e rm canalizando os resultados de find para xargs , no caso de um diretório ter muitos arquivos, ou seja:
find /path/* | xargs rm
Então, um palpite, talvez isso possa acelerar o chown , no caso de ser mais lento na verificação recursiva de um sistema de arquivos do que encontrar :
sudo find /path/* | xargs chown www-data:www-data
Estou usando o Amazon EC2 também e tive esse problema. 2 coisas:
Corrigindo a situação atual: Você terá que lidar com a lentidão. Talvez você possa usar "tela" ou algo semelhante para que o processo possa continuar em segundo plano.
Corrigindo a situação futura: Você pode procurar pelo desenvolvedor e ver como os arquivos estão sendo gerados. Desde que você mencionou www-data, estou assumindo que o consumidor dos arquivos é o Apache. Se os arquivos estiverem sendo descartados de outro programa (NFS, Samba, SSH, etc.), certifique-se de que esses programas estejam configurando o usuário: group como www-data: www-data.