fonte: web
Chi utilizza Linux come sistema desktop dispone di uno strumento potente, veloce, sicuro e semplice da usare per sincronizzare file/cartelle locali con file/cartelle memorizzate in un server remoto: il nome di questo strumento è rsync.
rsync è una utility che una volta imparata ad usare non ne potrete più fare a meno. Potendo essere utilizzata in contemporanea con il protocollo SSH è uno degli strumenti più sicuri e performanti per l’aggiornamento delle risorse in remoto.
Oltre alla sincronizzazione dei file e delle cartelle in remoto, rsync è un ottimo strumento per eseguire il backup dei file e delle cartelle del nostro server, perchè anche in questo caso risulta decisamente veloce e chiaramente sicuro.
Vediamo come si utilizza.
Se volessimo sincronizzare/caricare tutti i file di una cartella in locale con quelli di una cartella sul server in remoto dovremmo utilizzare rsync in questo modo:
rsync -rvC --rsh="ssh -l SSH_USERNAME" * HOST:REMOTE_DIRECTORY/
dove “*” rappresenta tutte le risorse contenute nella directory locale corrente (quella cioè in cui ci troviamo quando lanciamo il comando), “SSH_USERNAME” è il nome utente per il protocollo SSH, “HOST” è il nome di dominio o l’indirizzo IP del server e “REMOTE_DIRECTORY” e la cartella remota del server in cui vogliamo aggiornare/sincronizzare i file o le cartelle.
L’opzione “-r” attiva la modalità ricorsiva, quella “-v” incrementa la verbosità e la “-C” attiva l’esclusione CVS. Chiaramente al posto di “*” possiamo specificare una particolare directory, un particolare file, un insieme di directory, ecc. per l’aggiornamento/caricamento in remoto, mentre invertendo l’origine con la destinazione in questo modo:
rsync -rvC --rsh="ssh -l SSH_USERNAME" HOST:REMOTE_DIRECTORY/ /home/utente/Desktop/
potremmo eseguire il backup della directory remota “REMOTE_DIRECTORY” del server in locale (nella directory “/home/utente/Desktop/”). Facile no?