Come escludere file e cartelle con il comando Rsync

11 gen 2023 3 min di lettura
Come escludere file e cartelle con il comando Rsync
Indice dei contenuti

Introduzione

Rsync è una potente utility a riga di comando per sistemi Unix/Linux, che consente di sincronizzare e trasferire file tra due sistemi diversi. Una delle caratteristiche principali di Rsync è la possibilità di escludere file e directory dal processo di sincronizzazione. Questa funzione può essere incredibilmente utile per una varietà di attività, come backup, sincronizzazione della base di codice e gestione dei dati.

Escludere file e directory con rsync

Per escludere file o cartelle specifici quando si utilizza il comando rsync, è possibile utilizzare l'opzione --exclude o -X. L'opzione --exclude accetta un elenco di pattern (espressioni regolari) che corrispondono ai file o alle cartelle da escludere, separati da virgole.

Esempio:

rsync -av --exclude=pattern1 --exclude=pattern2 source/ destination/

In questo caso, tutti i file o cartelle nel percorso sorgente che corrispondono a "pattern1" o "pattern2" verranno esclusi dalla sincronizzazione.

rsync -av --exclude='pattern1|pattern2' source/ destination/

in questo caso tutti i file o cartelle che matchano pattern1 or pattern2 saranno esclusi.

Inoltre è possibile anche utilizzare un file di testo per specificare le regole di esclusione, utilizzando l'opzione --exclude-from . Il file dovrebbe contenere un elenco di pattern, uno per riga.

rsync -av --exclude-from=exclude-list.txt source/ destination/

Questo comando utilizzerà i pattern specificati nel file "exclude-list.txt" per escludere i file durante la sincronizzazione.

Se si desidera escludere tutti i file con estensione ".log" , è possibile utilizzare il seguente comando:

rsync -av --exclude='*.log' source/ destination/ 

Escludere tutto ciò che è scritto nel file di testo

Un altro modo per escludere file e directory è utilizzare un file separato chiamato "escludi file". Questo file contiene un elenco di modelli esclusi, uno per riga, e Rsync leggerà il file e applicherà tutti i modelli specificati in esso.

rsync -av --exclude-from='exclude.txt' source/ destination/ 

Qui il file exclude.txt contenente tutti i modelli di file o directory da escludere

I modelli nel file exclude possono essere un glob di shell (ad esempio, *.log) o un'espressione regolare (se l'opzione --exclude-from è sostituita con --exclude-from-file).

Includere file specifici ed escludi altri

È anche possibile includere ed escludere file contemporaneamente utilizzando l'opzione --include seguita dal nome del file o della directory che si desidera includere e l'opzione --exclude per tutto il resto. Ad esempio, il seguente comando includerà tutti i file con estensione ".txt" ed escluderà tutti gli altri file:

rsync -av --include='*.txt' --exclude='*' source/ destination/ 

È importante notare che l'ordine delle opzioni --includee --exclude è significativo. Se vuoi includere un file o una directory specifici e poi escluderne altri, l'opzione --include dovrebbe essere la prima.

Escludere file di grandi dimensioni

Un'altra considerazione quando si utilizza Rsync per escludere file e directory è la prestazione. L'esclusione di file o directory di grandi dimensioni può far risparmiare una notevole quantità di tempo e spazio durante il trasferimento o la sincronizzazione dei dati. Ad esempio, se stai eseguendo un backup, potresti voler escludere file multimediali di grandi dimensioni o backup di backup.

rsync --ignore-existing --size-range='+100M' -av source/ destination/

Ci sono anche molte altre opzioni disponibili con rsync che possono essere utilizzate per perfezionare ulteriormente il processo di trasferimento dei file. Ad esempio, è possibile utilizzare l'opzione --exclude per escludere determinati file o directory dal trasferimento o l'opzione --dry-run per vedere quali file verrebbero copiati senza eseguire effettivamente il trasferimento.

Conclusione

Nel complesso, la possibilità di escludere file e directory con Rsync è una funzionalità potente ed essenziale che può migliorare notevolmente l'efficienza, l'accuratezza e la sicurezza delle attività di backup, sincronizzazione e gestione dei dati. Utilizzando i metodi e le migliori pratiche discussi in questo articolo, puoi sfruttare appieno questa funzionalità e assicurarti che i tuoi comandi Rsync funzionino nel modo più efficiente ed efficace possibile.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.