venerdì 28 maggio 2010

Backup dei file con rsync

Rsync è una utility molto efficace di backup sviluppata per gli ambienti Unix/Linux. Questo è il link per il download dei sorgenti:
http://rsync.samba.org/
è comunque possibile installarla nella maggior parte delle distribuzioni linux con l'uso del gestore dei pacchetti.
Il problema che mi sono posto è stato quello di creare sul mio hard disk esterno una copia di sicurezza dei dati presenti nella mia partizione "home". Dopo aver visto diversi software specializzati per la creazione di copie di backup mi sono imbattuto in rsync il quale soddisfa tutte le mie richieste. Il mio obiettivo è quello di creare una copia esatta dei miei file su un disco esterno, con la possibilità di aggiornare rapidamente le modifiche come la cancellazione o l'aggiunta di nuovi file. Inoltre voglio che sia possibile specificare dei file o directory da non includere nel backup (ad esempio non voglio copiare la directory video visto che occupa molto spazio e non contiene file di estrema importanza). Rsync è in grado di fare tutto questo e molto altro!
Anche se esistono diverse GUI per questo tool ho preferito usare la linea di comando vista la semplicità della sua sintassi.
La directory di cui intendo fare il backup si trova nel seguente path:
/home/roberto/
mentre il path relativo al disco esterno è il seguente:
/media/roberto_losanno/Backup_notebook/
il comando utilizzato è il seguente:
rsync -azv --delete --exclude='/video' /home/roberto/ /media/roberto_losanno/Backup_notebook/
Alla prima esecuzione del comando sarà avviata la copia di tutti i file sul disco esterno (Full backup). Le esecuzioni successive del comando si limiteranno soltanto ad apportare le modifiche che sono state fatte sulla partizione d'origine /home/roberto/ (Incremental backup). Studiamo la parte di sintassi che credo sia meno chiara:
  • -azv l'opzione 'a' serve per la copia ricorsiva delle sottocartelle; l'opzione 'z' effettua una compressione dei file; l'opzione 'v' imposta il funzionamento su verbose che stampa a video le operazioni effettuate.
  • --delete cancella dal percorso destinazione (disco esterno) i file che sono stati cancellati dal disco fisso del pc (cioè dalla directory origine /home/roberto/). Questa opzione interviene nel caso di "incremental backup" e non nel primo backup (full backup) visto che la directory destinazione è vuota.
  • --exclude='/video' esclude dal backup la directory "video". Da notare lo slash prima della parola "video", che indica ad rsync di escludere la directory "video" che si trova nel percorso radice della directory origine (/home/roberto/). Nel caso in cui si omettesse lo slash (--exclude='video') allora sarebbero esclusi dal backup tutti i file e le directory di nome "video" presenti nella directory d'origine (/home/roberto/) e nelle sue sottodirectory.
Nel caso in cui il numero di files o directory da escludere è elevato, è possibile salvare in un file i nomi, e utilizzare l'opzione --exclude-from.
Dopo aver creato il file che io ho chiamato "to_exclude", aprirlo ed inserire l'elenco di file e directory da escludere, ad esempio:
/video
/Downloads
/Documents/Temporal
imagecd1.iso
Da notare che la directory "Documents" non sarà esclusa dal backup, verrà invece esclusa la directory "Temporal" contenuta al suo interno.
Verranno inoltre esclusi tutti i file o le directory con il nome "imagecd1.iso" che si trovano nella directory origine o in una sua sottodirectory. Nell'opzione --exclude-from inserire il percorso al file appena creato.
Il comando da eseguire è il seguente:
rsync -azv --delete --exclude-from=/home/roberto/to_exclude /home/roberto/prova/ /media/roberto_losanno/Backup_notebook/
L'ultima opzione da includere è --delete-excluded che ritorna molto utile nei backup successivi al primo, nel caso in cui si modifica l'elenco dei file e delle directory da escludere. In questo caso infatti i nuovi file esclusi, ma già copiati precedentemente nella destinazione di backup, non sarebbero eliminati.
Quindi il comando finale con le opzioni che abbiamo utilizzato è il seguente:
rsync -azv --delete --delete-excluded --exclude-from=/home/roberto/to_exclude /home/roberto/prova/ /media/roberto_losanno/Backup_notebook/
Per approfondire l'uso di questo tool, è possibile utilizzare l'help in linea "man rsync", o collegarsi alla pagina:

lunedì 18 gennaio 2010

Pasta con spinaci a forno (Pasta con espinacas al horno)

Ingredienti per 4 persone:
  • 400 gr di pasta (a scelta, meglio se corta)
  • 200-300 gr di mozzarella
  • prosciutto cotto a pezzetti
  • 500 gr di spinaci
  • 1 cipolla
  • olio d'oliva, sale, pepe, peperoncino, formaggio grattuggiato
Preparazione:
Tagliare la cipolla a pezzetti piccoli e soffriggerla in una padella con 3 cucchiai di olio. Quando la cipolla si inizia a dorare aggiungere il prosciutto a pezzetti e dopo un paio di minuti gli spinaci. Cucinare per 10 minuti e alla fine aggiungere pepe, peperoncino e mozzarella a pezzetti e continuare a cucinare finchè si scioglie la mozzarella.
In una pentola lessare la pasta al dente. Nel frattempo imburrare un contenitore da forno. Quando la pasta è pronta scolarla e mescolarla con gli spinaci e la metà del formaggio. Quando si è amalgamata bene versarla nel contenitore imburrato, coprire con il formaggio restante e cucinarla a forno a 180° per 10-15 min.

(Español)

Ingredientes para 4 personas:
  • 400 gr de pasta (mejor si es corta)
  • 200-300 gr di mozzarella
  • jamón dulce a dados
  • 500 gr de espinacas
  • 1 cebolla
  • aceite de oliva, sal, pimienta, pimienta picante, queso rallado
Preparación:
Cortar la cebolla a trozos pequeños y cocinarla en una sartén con tres cucharas de aceite. Cuando la cebolla empieza a dorarse añadir el jamón y después de dos minutos las espinacas. Cocinar durante 10 minutos y al final añadir pimienta, pimienta picante y mozzarella a dados y seguir cocinando hasta que la mozzarella se deshaga. En una olla hervir la pasta al punto. Mientras tanto, poner la mantequilla en un contenedor para horno. Cuando la pasta esta lista escorerla y mezclarla con las espinacas y con la mitad del queso. Cuando esta todo bien mezclado, ponerla en el contenedor, cubrirla con el queso que queda y cocinar al horno a 180° durante 10-15 min.

Risultato (Resultado):