Como uma exclusão recursiva lenta no Linux?

2

Eu tenho alguns diretórios em nossos servidores de produção que eu quero excluir. No entanto, da última vez que os excluí, eles fizeram com que as conexões com os servidores iniciassem o tempo limite quando o disco IO estava sendo sobrecarregado. Existe um comando que eu possa usar para apagar esses diretórios lentamente ou devo escrever para mim mesmo um script de shell com alguns sleeps liberais?

    
por Rory Hart 21.02.2011 / 01:08

3 respostas

7

Se sleep no seu sistema retornar 0, você poderá simplesmente colocá-lo em um comando find :

find ... -exec sleep 1 \; -delete
    
por 21.02.2011 / 01:17
2

Aqui está uma alternativa

find . -type f -print0 | xargs -n 5 -0 -I {} rm {}; sleep 10

alterar os parâmetros

-n 5 # isto é quantos arquivos ao mesmo tempo serão passados para o comando rm.

e

sleep 10 # esse é o tempo em segundos que o comando sleep antes do próximo rm chunk ser executado

    
por 21.02.2011 / 01:23
0

Que tal:

ls | xargs -I {} -n 1 sh -c 'echo {}; dormir 1 '

Apenas substitua echo por rm e você deve ser bom.

    
por 21.02.2011 / 01:19

Tags