Come escludere file da Rsync

Sommario:

Come escludere file da Rsync
Come escludere file da Rsync

Video: Come escludere file da Rsync

Video: Come escludere file da Rsync
Video: Aumenta La Velocità Di Internet Con Un Solo Gesto - YouTube 2024, Aprile
Anonim
Image
Image

Rsync è una delle utilità più utili per un amministratore del server, ma si sincronizzaqualunque cosa per impostazione predefinita, che può essere fastidioso se l'applicazione crea un sacco di file temporanei. Ecco come escludere i file quando si utilizza rsync.

Escluso da un elenco in un file

Questo è il metodo ideale per escludere file e cartelle, poiché puoi sempre modificare la lista e modificare le cose se necessario. Ecco la sintassi:

rsync - -exclude-from=/path/to/exclusion-file /path/to/source /path/to/dest

La cosa complicata con rsync è che devi usare un percorso relativo quando stai cercando di escludere le cose, perché quando cerca di far corrispondere le esclusioni non userà la prima parte del percorso per la corrispondenza … è strano.

Ad esempio, si sta tentando di eseguire il backup / dati / Web / e inviarlo a un altro server, quindi si utilizza un comando come rsync -a / data / web / user @ server: / backups / data / web / per renderlo capita … ma ti piacerebbe davvero saltare la sincronizzazione della cartella / data / web / cache /. Quando rsync va a controllare l'elenco di esclusione per ogni elemento che sincronizza, non controlla / data / web / cache / poiché il comando rsync originale è basato sulla cartella / data / web /. Controllerà semplicemente "cache /" contro l'elenco. Quindi avrai bisogno di mettere "cache" nella lista, non il percorso completo. Esempio:

rsync -a --exclude-from=/data/exclusions /data/web/ /backups/

Ora per escludere / data / web / cache e / data / web / temp da rsync usando questo comando, rimuoveremo / data / web / porzione del percorso e il file / data / exclusions conterrà semplicemente questo:

cache* temp*

Noterai che ho aggiunto * nel percorso, per assicurarmi che corrisponda a tutto ciò che inizia con "cache" all'inizio. Puoi utilizzare questo motivo a stella per motivi più utili se lo desideri, ad esempio vuoi escludere tutti i file.txt dalla sincronizzazione. Avvierai il pattern con la stella per assicurarti che corrisponda sempre e aggiunga questo:

*.txt

Ciò garantirebbe che quei tipi di file vengano saltati durante una sincronizzazione. È piuttosto semplice al di là di questo.

Escluso un singolo oggetto

Questa tecnica è molto meno utile, ma puoi usarla al volo se ne hai bisogno. Se stai configurando uno script per usare rsync, che di solito sei, dovresti prendere il minuto extra da escludere da un elenco di file per rendere più semplice la manutenzione futura. La sintassi è molto simile:

rsync --exclude=relative/path/to/exclusion /source /dest

Lo stesso percorso relativo dovrebbe essere applicato qui come sopra.

Consigliato: