Borrando muchos files

Accidentalmente creé 8 millones de files y cada vez que trato de eliminarlos, el server casi muere debido a que el process de rm consume todos los discos IO (el server es remoto sin console).

¿Debería algo como esto funcionar, es decir, invocar ionice?

sudo find /var/lib/php5/ -type f -exec ionice -c3 rm -f {} \; 

Lo haría así …

 sudo ionice -c3 find /var/lib/php5/ -type f -exec rm -f '{}' + 

el + es más como xargs (creo), y por lo tanto más eficiente en un gran número de files. poner ionice en todo el command debería hacer que cada subcommand también se ionice, así como también la búsqueda misma. ¿Has probado esto?

también podría hacer que sea realmente agradable nice -n 19 ionice -c 3 programname aunque no debería ser necesario.

o siguiendo el ejemplo de @alex , podrías

 ionice -c3 find /var/lib/php5/ -type f -delete 

Haría algo como esto:

 import os os.nice(19) dir = "/var/lib/php5/" bad_files = [os.join(dir, file) for file in os.listdir(dir) if is_bad(os.join(dir, file))] for junk in bad_files: os.unlink(junk) time.sleep(0.1) 

Quizás demasiado tonto.

¿Qué hay de borrar toda la estructura del directory?

 find /var/lib/php5 -type d -print > /tmp/directories rm -r /var/lib/php5 cat /tmp/directories | xargs mkdir