Come escludere file da Rsync
Rsync è una delle utilità più utili per un amministratore del server, ma si sincronizza qualunque 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é è sempre possibile modificare l'elenco e modificare le cose se necessario. Ecco la sintassi:
rsync --escludere-from = / / / esclusione file percorso / percorso / a / origine / percorso / a / destinazione
La cosa complicata con rsync è che devi usare un percorso relativo quando stai cercando di escludere delle 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 / data / 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 dovrai inserire "cache" nell'elenco, 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 utilizzando 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 aggiungi questo:
*.testo
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 necessario. Se si sta impostando uno script per utilizzare rsync, che in genere si tratta, è necessario prendere il minuto extra da escludere da un elenco di file per facilitare la manutenzione futura. La sintassi è molto simile:
rsync --exclude = relativo / percorso / a / esclusione / origine / destinazione
Lo stesso percorso relativo dovrebbe essere applicato qui come sopra.