Bash scripting: ecco come tenere sotto controllo la directory dei tuoi download
Stanchi di dover ripulire a mano la directory usata dal vostro browser per i download, costantemente in crescita esponenziale? Ecco uno script bash che risolve il problema
Premessa
Da un paio di anni, almeno, ho notato una crescente tendenza nella configurazione di default dei moderni browser web; impostare una directory di download predefinita dove salvare tutti i files scaricati durante la navigazione, senza chiedere l’interazione con l’utente.
La directory d’elezione su Gnu/Linux è Download, o Downloads, o Scaricati (a seconda della lingua di installazione e della distro installata).
Il problema
Questa configurazione (che si trova praticamente in tutti i browser, da Firefox a Chromium, da Opera e Rekonq) porta certamente una grande comodità e rapidità in fase di download dei contenuti; il rovescio della medaglia risulta però in una directory di download in continua, esponenziale, crescita.
La soluzione, in questi casi, può essere una pulizia manuale, eseguita ogni tanto e di buon cuore; oppure, potreste decidere di adottare lo script bash che trovate nel link di approfondimento all'articolo.
Lo script purgedirectory.sh
Per non dover eseguire noiose pulizie manuali, ho creato questo script, da lanciare ogni tanto oppure – in modo ancor più automatizzato – da inserire nel proprio crontab!
Le dipendenze
Questo script non ha particolari dipendenze, escluso il binario sendemail (da non confondere con il blasonato server SendMail); sendemail è uno script in perl che permette di inviare una mail senza impazzire tra files di configurazione.
Per installare sendemail basta far ricorso al solito apt-get install:
sudo apt-get install sendemail
Funzionamento
Purgedirectory.sh si occupa di controllare la directory target (definita dalla variabile $DirScan), spostando i files la cui data di ultimo accesso sia più vecchia di un mese all’interno di un’apposita directory .trash creata all’occorrenza come sub-dir della directory target. I files vecchi vengono quindi, in un primo momento, spostati (non cancellati!) all’interno della directory $DirScan/.trash.
Eseguita la scansione viene mandata, con sendemail, una mail contenente la lista di tutti i files che sono stati “marcati” per l’eliminazione.
L’eliminazione effettiva viene fatta solo alla successiva esecuzione dello script, che si occupa di svuotare il contenuto della directory $DirScan/.trash.
In questo modo è possibile manterene la directory dei download sotto controllo, senza il rischio di cancellare automaticamente, per errore, download importanti, dato che l’effettiva cancellazione viene eseguita in un secondo tempo, e se esistono documenti importanti è possibile reuperarli all’interno della directory .trash prima dell’effettiva eliminazione.
Per reuparare lo script bash, cliccare sul link di approfondimento all'articolo.
© Pensi che questo testo violi qualche norma sul copyright, contenga abusi di qualche tipo? Contatta il responsabile o Leggi come procedere