Svuotare directory con rsync

Problema: svuotare al cache dei apache in poco tempo.

Il modulo mod_disk_cache.c di apache velocizza l’erogazione dei contenuti appoggiano la cache all’interno di una direcotry.

Arriva il giorno che devi necessariamente svuotare questa directory e non puoi usare il comando htcacheclean, la cosa più ovvia da fare è usare:

rm -Rf /var/cache/mod_disk

Restiamo a guardare il terminale fermo, immobile e lo spazio disco diminuire lentamente, ma proprio lentamente, questo perché i dati come numerosità sono tantissimi e come dimensione circa 20 Giga, per rimuovere la directory abbiamo dovuto fermare il demone HTTPD e non erogare più il servizio WEB, a questo punto spostiamo la scrittura della cache, facciamo partire Apache 2 e sfruttiamo il comando rsync per velocizzare lo svuotamento della directory. Non la cancelleremo ma la svuoteremo, visto che l’eliminazione era decisamente lunga.

Solitamente rsync  si utilizza per sincronizzare due directory, se usiamo questo comando per sincronizzare una dir vuota con l’opzione –delete, allora sincronizzeremo la piena con la vuota cancellando quello che è presente nella piena ma non nella vuota.

mkdir /var/cache/vuota
rsync -a /var/cache/vuota/ /var/cache/mod_disk --delete
rm -Rf /var/cache/vuota /var/cache/mod_disk

 

Il comando rsync impiega un quarto del tempo del comando rm.