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?
command-line
rsync
Freedom_Ben
la source
la source
a
impliquer
déjà :)-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
Réponses:
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
--exclude=path
commutateurs. Donc, ma commande ci-dessus correctement écrite est la suivante:la source
-a
inclut-r
donc-ar
est redondant.Lorsque vous devez exclure plusieurs répertoires et / ou fichiers, créez un fichier texte et utilisez le
--exclude-from
commutateur. Créez un fichier appeléexclude_me.txt
dans lequel sont répertoriées vos exclusions. Exemple (/home/ben/exclude_me.txt
):Ensuite, votre rsync ressemblerait à ceci:
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 contenudir/
signifie exclure n'importe quel dossier où le nom contientdir/
Exemples exclus:
/dir/, /usr/share/directory/, /var/spool/dir/ /var/spool/lpd/cf
signifie ignorer les fichiers commençant parcf
n'importe quel dossier dans/var/spool/lpd
Reportez-vous également à la section relative aux règles de filtrage de la page de manuel.
la source
Vous pouvez également exclure plusieurs chemins entre accolades:
la source
IFS=$'\n'; rsync -arv $(printf '.ccache\nbuild\n' | sed 's/^/--exclude=/g') /home/ben /media/ben/thumbdrive/
. Vous pouvez également utiliser plusieurs--exclude
arguments que vous devez taper manuellement.