Como aumentar a velocidade de exclusão de várias pastas

1

Eu tenho um script contendo cerca de 420k linhas do comando "rm -rf", como o que gerou usando uma instrução "find". Cada pasta do pdf contém entre 1 e 30 arquivos (sem subpasta).

rm -rf /2012/128/211503/pdf
rm -rf /2012/128/212897/pdf
rm -rf /2012/128/211989/pdf
rm -rf /2012/128/211691/pdf
rm -rf /2012/128/212539/pdf
rm -rf /2012/218/358976/pdf
rm -rf /2012/218/358275/pdf
rm -rf /2012/218/358699/pdf

Estou pesquisando como aumentar a velocidade de exclusão do script.

Atualmente, vmstat denuncia apenas o tempo de espera (IO).

Plataforma é o RHEL 5 excluindo arquivos em uma unidade RAID5 / 6 usando ext3 e LVM.

Pensei em dividir o arquivo de script em arquivos menores (como 10 arquivos) para acionar vários scripts em paralelo, mas estou localizando uma limitação de velocidade de hardware.

Será que seria uma boa idéia se o comprometimento da deleção para a journalização levasse tempo e pudesse fazer parte de um recurso como o NCQ?

    
por DevOps 22.08.2013 / 14:55

1 resposta

1

Se você estiver usando encontre para gerar o script, dê uma olhada na ação -delete

Delete files; true if removal succeeded. If the removal failed, an error message is issued. If -delete fails, find's exit status will be nonzero (when it eventually exits). Use of -delete automatically turns on the -depth option

Você pode usar divisão para dividir o arquivo em partes. Você pode obter alguma milhagem do Paralelo GNU também.

    
por 22.08.2013 / 16:07

Tags