Cancellare più di un milione di file da una cartella Unix

December 20, 2015 0 Comments CLI Utility

Ciao a tutti!

Se vi capiterà mai di imbattervi in cartelle con più di 50mila files in ambiente unix e dovete eliminarli, ecco come potete risolvere.

Il problema nasce quando lanciando l’eliminazione il sistema va in hang. Bisogna quindi utilizzare un comando con meno priorità cpu, o temporizzato diversamente. Di seguito due esempi:

Temporizzazione (più lento):

find . -type f  -exec sleep 0.01 \; -delete  

In questo modo ad ogni esecuzione della cancellazione si aspetta 1 centesimo di secondo

Oppure abbassando la priorità cpu con il comando “nice” (più veloce ma utilizza più I/O di sistema)

nice find . -type f -delete  

Questi due comandi mi hanno permesso di eliminare in un paio di ore una cartella di magento, precisamente la cartella var/session che era cresciuta a dismisura.

🙂

Samuele Chiocca
Padova, italy Website