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.