web-dev-qa-db-fra.com

Comment exclure plusieurs annuaires avec rsync?

J'essaie de sauvegarder mon répertoire personnel à l'aide de rsync et je souhaite exclure certains des répertoires contenant des fichiers indésirables. Je veux exclure spécifiquement /home/ben/.ccache et /home/ben/build. Malheureusement, la documentation pour rsync était une surcharge d'informations et n'a pas répondu à ma question. C'est ce que j'ai essayé:

rsync -arv --exclude "/home/ben/.ccache:/home/ben/build" /home/ben /media/ben/thumbdrive/

Quel est le bon moyen de le faire?

173
Freedom_Ben

OK je me sens vraiment bête. Avant même de poster cette question, mon ami m'a montré comment le faire et c'est très simple. Pour exclure plusieurs répertoires, utilisez simplement plusieurs commutateurs --exclude=path. Donc, ma commande ci-dessus correctement écrite est la suivante:

rsync -arv --exclude=.ccache --exclude=build /home/ben /media/ben/thumbdrive/
226
Freedom_Ben

Lorsque vous devez exclure plusieurs répertoires et/ou fichiers, créez un fichier texte et utilisez le commutateur --exclude-from. Créez un fichier nommé exclude_me.txt et répertoriez-y vos exclusions. Exemple (/home/ben/exclude_me.txt):

.ccache
build
.Java
.gvfs
.xsession-errors

Ensuite, votre rsync ressemblerait à quelque chose comme:

rsync -arv --exclude-from='/home/ben/exclude_me.txt' /home/ben /media/ben/thumbdrive/

Voici quelques informations sur les règles de filtrage qui peuvent aider:

  • /dir/ signifie exclure le dossier racine /dir
  • /dir/* signifie obtenir le dossier racine /dir mais pas le contenu
  • dir/ signifie exclure tout dossier où le nom contient dir/

  • Exemples exclus: /dir/, /usr/share/directory/, /var/spool/dir/ /var/spool/lpd/cf signifie ignorer les fichiers qui commencent par cf dans n’importe quel dossier de /var/spool/lpd

Reportez-vous également à la section règles de filtrage de la page de manuel.

103
user228759

Vous pouvez également exclure plusieurs chemins entre accolades:

rsync -arv --exclude={.ccache,build} /home/ben /media/ben/thumbdrive/
79
György Ráth