Successivo

Linux

Escludere i file da rsync in Linux

Dario Orlandi | 27 Luglio 2015

Linux

Rsync è un comando Linux potentissimo, per copiare, spostare e sincronizzare file e cartelle in maniera semplice ed estremamente flessibile. […]

Rsync è un comando Linux potentissimo, per copiare, spostare e sincronizzare file e cartelle in maniera semplice ed estremamente flessibile. Come spesso accade nel mondo di Unix e di Linux, questo comando viene invocato da terminale: se da un lato questa impostazione richiede più tempo e attenzione, per imparare a conoscere tutti i dettagli della sintassi, dall’altro garantisce una flessibilità  molto superiore, poiché permette di inserire le funzioni di copia all’interno di uno script più complesso e potente. Per semplificare la fase di apprendimento ed evitare danni irrimediabili, rsync supporta una modalità  di test: con il parametro -n, rsync individua e indica all’utente i file e le cartelle da copiare o spostare (per ottenere tutte le informazioni, meglio aggiungere anche il parametro -v), ma la copia non viene eseguita.

La sintassi di base è molto semplice: basta indicare la cartella sorgente e quella di destinazione, specificando percorsi locali oppure remoti. Per default rsync agisce su tutti gli elementi contenuti all’interno della sorgente, ma capita molto spesso di voler invece escludere dalla sincronizzazione file e cartelle specifiche, come per esempio quelle che contengono i file temporanei. Per indicare un file o una cartella singola da escludere si può utilizzare il parametro –exclude=. Molto più utile, però, è inserire tutte le esclusioni all’interno di un file di testo (un elemento per ogni riga), e indicarlo a rsync con la sintassi:

rsync -a –exclude-from=~/exclusions.txt /sorgente/ /destinazione/

Le righe contenute nel file exclusions.txt possono contenere nomi di file e cartelle, o allargare il campo tramite i caratteri jolly; il percorso iniziale è quello della cartella sorgente, e non bisogna quindi specificare il path completo di ogni elemento.