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:
Tu veux le
--exclude
drapeau. Par exemple, un rsync local: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
la source
a/cache
. UPD Voir cette réponse--exclude /cache/
(avec le /) en tête, seul lea/cache
répertoire est exclu , pas un répertoire nommécache
.a/ b/
dans la ligne de commande ci-dessus, qu'est-ce que cela signifie?a/
est le répertoire à partir duquel nous synchronisons (ou copions);b/
est le répertoire dans lequel nous synchronisons.