RSync - Exclure un sous-répertoire particulier et ses enfants lorsque le sous-répertoire existe à différents niveaux


37

G'Day,

J'utilise rsync pour synchroniser de manière récursive une arborescence de dossiers distants qui ressemble à ce qui suit:

/folderA/a1/cache
/folderA/a1/cache/A1
/folderA/a1/cache/A2
/folderA/a1/somefolder
/folderA/a1/someotherfolder
/folderA/a2/somefolder/cache
/folderB/cache/
/folderB/b1/somefolder/cache
/folderB/b1/somefolder/yetanotherfolder/cache
/folderB/b1/somefolder/yetanotherfolder/cache/B1
/folderB/b1/somefolder/yetanotherfolder/cache/B2

Je ne sais pas à quoi ressemblera l’arborescence de dossiers et elle changera avec le temps. Donc, ce que je veux être capable de faire est récursivement rsync ce qui précède, mais exclure le dossier "cache" et tous les sous-dossiers qu'il contient afin que je finisse par synchroniser:

/folderA/a1
/folderA/a1/somefolder
/folderA/a1/someotherfolder
/folderA/a2/somefolder
/folderB/
/folderB/b1/somefolder
/folderB/b1/somefolder/yetanotherfolder/

Aucune suggestion?


Réponses:


55

Tu veux le --excludedrapeau. Par exemple, un rsync local:

rsync -a --exclude cache/ src_folder/ target_folder/

C’est aussi simple que cela: cette règle d’exclusion correspond à un répertoire nommé "cache" n’importe où dans votre arborescence.

Pour plus d'informations, recherchez "--exclude" et la section "FILTER RULES" (Règles de filtrage) de la page de manuel rsync:

http://www.samba.org/ftp/rsync/rsync.html


1
Doh !!. Merci c'est les réponses simples que j'aime le plus :-)
TheEdge

1
Pourquoi pas n'importe où dans l'arbre? Comme, seulement exclure a/cache. UPD Voir cette réponse
x-yuri

2
De même --exclude /cache/(avec le /) en tête, seul le a/cacherépertoire est exclu , pas un répertoire nommé cache.
Amir Ali Akbari

Pourquoi a/ b/dans la ligne de commande ci-dessus, qu'est-ce que cela signifie?
Danijel

1
@Danijel: a/est le répertoire à partir duquel nous synchronisons (ou copions); b/est le répertoire dans lequel nous synchronisons.
Jander
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.