Sei sulla pagina 1di 3

Sincronizzare file e cartelle con rsync | Mr. We... https://www.mrwebmaster.it/linux/rsync-sincron...

Mr. Webmaster → Linux → Articoli → Sincronizzare �le e cartelle con rsync

Sincronizzare �le e cartelle con rsync

Pubblicato il 24/04/2014 Autore Massimiliano Bossi

rsync fa parte delle utilità indispensabili del buon amministratore di sistema. Grazie ad rsync,
infatti, è possibile gestire (in modo facile e velocissimo) la sincronizzazione di �le e cartelle sia
localmente che tra due diversi sistemi connessi in Rete.

rsync è un tool nato e maturato in ambiente UNIX (la prima release è datata 1996) che si basa su
un so�sticato algoritmo sviluppato dal programmatore australiano Andrew Tridgell che garantisce
allo stesso tempo velocità ed integrità dei dati. Oltre al suo potente algoritmo, rsync dispone di
altre interessanti funzionalità come, ad esempio, il supporto per il protocollo ssh (fondamentale
per incronizzazioni da remoto) nonchè la possibilità di utilizzare diversi sistemi di compressione
dei dati (come ad esempio gzip).

Una precisazione: la popolarità di rsync è tale che praticamente ogni sistema GNU/Linux ne
integra una copia, ma non solo: pur essendo un tool per sistemi UNIX, oggi è possibile trovare
versioni di rsync per qualsiasi sistema operativo (compreso Windows) cosa che rende ancor più
interessante ed indispensabile questo straordinario strumento.

CONTINUA DOPO LA PUBBLICITÀ...

rsync su GNU/Linux
Come detto rsync è installato di default su quasi tutti i sistemi basati su architettira UNIX. Se sul
vostro sistema non fosse presente la sua installazione è un gioco da ragazzi.

Su Debian e Ubuntu:

apt-get install rsync

Su RedHat, CentOS, Fedora:

yum install rsync


  

1 di 6 26/03/19, 10:44
Sincronizzare file e cartelle con rsync | Mr. We... https://www.mrwebmaster.it/linux/rsync-sincron...

rsync è un tool originario dei sistemi UNIX, tuttavia anche su Windows è possibile
utilizzarlo installando il pacchetto Cygwin (una libreria che consente di utilizzare in ambiente
Windows i più famosi tools di Linux) oppure cwRsync.

rsync su Mac
rsync è installato di default su tutte le versioni più recenti di Mac OS X a partire dalla 10.4. Per le
versioni più datate è possibile installare rsync eseguendo la procedura descritta in questa guida.

Usare rsync per una sincronizzazione in locale


Come detto, grazie a rsync è possibile sincronizzare �le e cartelle in modo facile e sicuro.
Supponendo di voler sincronizzare due cartelle in locale (ad esempio per creare un backup o una
copia "esportabile" su una chiavetta USB) potremmo usare una sintassi del genere:

rsync -avz /path/to/source /path/to/destination

Vediamo nel dettaglio le opzioni utilizzate:

a => modalità "archivio" (copia ricorsivamente tutti i �le, preservando permessi, timestamp,
link simbolici, owner e gruppi);
v => modalità "verbose", o�re un output a video circa il risultato dell'elaborazione;
z => comprime i dati usando l'algoritmo gzip;

Non sovrascrivere i �le modi�cati di recente


Si faccia attenzione: utilizzando la sintassi vista sopra, rsync andrà ad allineare il contenuto del
path di destinazione con quello del path sorgente! Se nella cartella di destinazione si hanno dei �le
più recenti rispetto alla cartella sorgente e li si vuole preservare si dovrà aggiungere il comando -u,
in caso contrario, infatti, la cartella di destinazione viene allineata con la sorgente a prescindere
che i �les in essa contenuti siano più recenti o meno.

rsync -auvz /path/to/source /path/to/destination

Sincronizzare un solo �le


Volendo è possibile utilizzare rsync per e�ettuare il backup di un singolo �le speci�candone il
nome in qualità di sorgente:

rsync -avz /path/to/source/filename /path/to/destination

Sincronizzare solo la struttura della directory


E' possibile decidere di sincronizzare solo la struttura della directory sorgente nella destinazione

  

2 di 6 26/03/19, 10:44
Sincronizzare file e cartelle con rsync | Mr. We... https://www.mrwebmaster.it/linux/rsync-sincron...

Eliminare i �le non presenti nella posizione sorgente


Supponiamo di avere dei �les nella cartella di destinazione che non sono presenti nella cartella
sorgente. Come si comporta rsync in questa situazione? Normalmente ignora questi �le e li lascia
dove sono. Se, tuttavia, preferiamo eliminarli possiamo utilizzarel'opzione --delete in questo
modo:

rsync -avd --delete /path/to/source/filename /path/to/destination

Sincronizzare solo i �le già presenti nella cartella di destinazione


E' anche possibile dire ad rsync di sincronizzare esclusivamente i �les già presenti nella folder di
destinazione evitando cioè di crearne di nuovi qualora nella sorgente siano presenti �les non
rinvenibili nella directory target. Per una simile eventualità si utilizzerà l'opzione --existing in
questo modo:

rsync -avd --existing /path/to/source/filename /path/to/destination

Ti è sembrato interessante?
Iscriviti alla nostra newsletter e ricevi gli ultimi aggiornamenti dal nostro network.

Inserisci la tua mail

ISCRIVITI

Ho letto, compreso ed accettato quanto indicato nell'informativa sulla privacy ed acconsento a ricevere
comunicazioni a carattere informativo e/o commerciale tramite posta elettronica

NAVIGA TRA I CONTENUTI

Il boot loader Grub



Creiamo un �le server con Samba

  

3 di 6 26/03/19, 10:44

Potrebbero piacerti anche