Una delle principali caratteristiche di rsync è la possibilità di eseguiretrasferimenti cifrati tramite protocollo ssh grazie al quale è possibile gestire sincronizzazioni files e cartelle di due sistemi connessi alla Rete.
La grande potenzialità di Rsync over SSH consiste, appunto, in questo: nella possibilità di eseguire sincronizzazioni tra macchine remote in modo sicuro ed efficente.
Una simile procedura si rivela molto utile, ad esempio, per eseguire dei backup su server remoti piuttosto che per trasferire grandi moli di dati in vista della migrazione di un sito web da un server ad un altro.
Vediamo di seguito la sintassi per importare dati da un server remoto:
rsync -auvz user@host:/path/to/source /path/to/destination
Viceversa per esportare dati da locale verso un server remoto:
rsync -auvz /path/to/source user@host:/path/to/destination
Come potete vedere le opzioni sono le medesime viste per la sincro in locale, l’unica differenza tra le sintassi riguarda l’indicazione di un’accoppiata user@host a precedere la cartella sorgente o di destinazione.
E’ evidente che una volta lanciato il comando il sistema remoto richiederà l’inserimento della password prima di procedere all’esecuzione dei compiti impostati.
Si noti che con questa sintassi rsync utilizza una connessione SSH agganciandosi alla porta di default (TCP 22); se invece il server remoto utilizzasse una porta diversa da quella di default sarà necessario specificare gli argomenti da passare ad SSH direttamente nel flag –rsh in questo modo:
rsync -auvz --rsh="ssh -p PORTA" user@host:/path/to/source /path/to/destination
Dove PORTA, ovviamente, può essere qualsiasi porta dalla quale ci sia un server ssh in ascolto.
Vedere lo stato di avanzamento del download/upload
Per vedere lo stato di avanzamento della sincro è sufficiente aggiungere il flag –progressin questo modo:
rsync -auvz --progress user@host:/path/to/source /path/to/destination
Escludere dalla sincro i file molto grandi
E’ possibile impostare un filtro sulle dimensioni dei file in modo da escludere dalla sincronizzazione, ad esempio, i file troppo grandi o troppo piccoli. Per farlo si utilizzano i flag–max-size e –min-size in questo modo:
rsync -auvz --max-size='500K' user@host:/path/to/source /path/to/destination
Conclusioni
Chiunque si trovi ad avere a che fare, anche non abitualmente, con i sistemi informatici deve conoscere rsync: il suo utilizzo, infatti, semplifica tutte le operazioni di backup e trasferimento dati rendendo estremamente semplici e sicure quelle effettuate da o verso postazioni remote.