Successivo

Linux

Backup con rsync in Linux

Dario Orlandi | 21 Marzo 2014

Linux

I sistemi operativi derivati da Unix offrono un programma di backup e sincronizzazione potentissimo e molto versatile, chiamato rsync. Si […]

I sistemi operativi derivati da Unix offrono un programma di backup e sincronizzazione potentissimo e molto versatile, chiamato rsync. Si tratta di un software a riga di comando, ma questo aspetto non deve spaventare poiché, come vedremo, il suo utilizzo è semplicissimo.

Rsync non è sempre disponibile nell’installazione di default. Per verificare la sua presenza aprite il terminale dei comandi e scrivete rsync: se il sistema risponderà  con un errore dovrete installarlo. In questo caso, nell’ipotesi che stiate usando una distribuzione derivata da Debian digitate – sempre nel terminale – ­i comandi:

[symple_box color=”red” text_align=”left” width=”100%” float=”none”]

sudo apt-get update

sudo apt-get install rsync

[/symple_box]

Per le versioni basate su Red Hat bisogna invece utilizzare yum dall’account di root (oppure con il comando sudo, se il sistema lo supporta):

[symple_box color=”red” text_align=”left” width=”100%” float=”none”]

yum check-update

yum -y install rsync

[/symple_box]

In entrambi i casi, il primo comando aggiorna la lista dei pacchetti disponibili, mentre il secondo installa rsync. La sintassi di base del programma è semplicissima: per sincronizzare due cartelle basta digitare:

[symple_box color=”red” text_align=”left” width=”100%” float=”none”]

rsync -a –delete /cartella_sorgente/ /cartella_destinazione/

[/symple_box]

Il parametro -a indica a rsync di analizzare anche le sottocartelle della sorgente, mentre il parametro –delete trasforma una semplice copia in una vera e propria sincronizzazione: se in cartella_destinazione si trovano file non più presenti in cartella_sorgente, questi verranno cancellati.

Uno degli aspetti più interessanti di rsync è la sua capacità  di minimizzare i dati da trasferire utilizzando la cosiddetta codifica delta. Rrsync non trasferisce integralmente un file che è stato modificato, ma soltanto le differenze a livello binario necessarie per poter aggiornare in modo opportuno la versione archiviata. Se il file da sincronizzare è molto grande ed è variato solo in misura minima (ad esempio un archivio compresso di grandi dimensioni a cui è stato aggiunto un nuovo file), questa modalità  permette di risparmiare molto tempo.

Per sfruttare questa capacità  è possibile quindi salvare preliminarmente i dati da salvare in un archivio compresso, e poi effettuare il backup di quest’ultimo con un comando come il seguente:

 

[symple_box color=”red” text_align=”left” width=”100%” float=”none”]

zip /archivi/archivio.zip /cartella_sorgente/ && rsync -a –delete /archivi/ /cartella_destinazione/

[/symple_box]

 

Il comando crea un file compresso chiamato archivio.zip all’interno della cartella /archivi, e quindi sincronizza il contenuto di questa directory con la cartella di destinazione. Abbiamo soltanto accarezzato la superficie delle potenzialità  di rsync, che permette anche di sincronizzare i dati con server remoti o di schedulare i backup. Per maggiori informazioni si può visitare la pagina ufficiale del software, all’indirizzo https://rsync.samba.org.

1.Sistemi Operativi 4