2017-10-12 12 views
0

Je sauvegarde mes données avec rsync et je souhaite exclure un type de fichier spécifique dans un seul répertoire (et ses sous-répertoires). Par exemple, j'ai:rsync: Exclure un type de fichier spécifique dans un seul répertoire

$ ls Source/ 
Folder1/a.tar 
Folder1/b.dat 
Folder2/c.tar 
Folder2/d.dat 
Folder2/Subfolder3/e.tar 
Folder2/Subfolder3/f.dat 
Folder2/Subfolder3/g.pdf 

Maintenant, je voudrais synchroniser tous les fichiers sauf pour les .tar fichiers dans Dossier2 et son sous-dossier. À la fin, cela devrait ressembler à ceci:

$ ls Target/ 
Folder1/a.tar 
Folder1/b.dat 
Folder2/d.dat 
Folder2/Subfolder3/f.dat 
Folder2/Subfolder3/g.pdf 

Est-ce que quelqu'un sait comment faire cela? J'ai joué avec l'option --exclude, mais sans chance.

+1

Jouez avec en exclure un peu plus. – 123

Répondre

1

rsync manuel dit

INCLUDE/EXCLUDE PATTERN RULES 
... 
     o  use ’**’ to match anything, including slashes. 

afin que vous puissiez faire

rsync -a --exclude='Folder2/**.tar' Source/ Target 

Notez ce qui est différent de bash « s globstar option où vous utiliseriez Folder/**/*.tar.

+0

Cela fonctionne parfaitement. Je vous remercie. – noes