Vous fournissez absolu dans votre liste d'exclusion.
Avec rsync, tous les chemins d'exclusion (ou d'inclusion !) commençant par /
sont ancrés dans le " racine du transfert ".
La racine du transfert dans ce cas est /home/chris
. Si vous l'avez fait :
rsync -Paz --exclude-from 'rsync-exclude.txt' / admin@192.168.1.65:
...alors vos exclusions devraient fonctionner (mais vous copieriez les données de la base de données de l'entreprise). tout le reste sur ce système de fichiers !)
Mais puisque vous essayez juste de synchroniser votre domicile et il n'y a pas de sous-répertoire de /home/chris
nommé "home/chris/Downloads"
, rsync
ne trouve rien qui corresponde.
Essayez donc d'enlever le /home/chris
des pièces de votre rsync-exclude.txt
fichier.
En fait, vous n'avez besoin que d'une seule ligne dans le fichier :
/Downloads
Note que si vous ne spécifiez pas le premier /
et vous avez d'autres répertoires nommés "Downloads"
Ceux-ci seraient également exclus. Je suppose que vous voulez seulement exclure votre "top-level" (relatif au répertoire source, alias la "racine du transfert"). Downloads
vous devez donc utiliser les caractères de tête /
.
LE MOYEN LE PLUS FACILE (pour exclure seulement quelques chemins)
Si vous n'avez besoin d'exclure qu'un seul répertoire, faites simplement ceci (en évitant un fichier séparé) :
rsync -Paz --exclude /Downloads /home/chris/ admin@192.168.1.65:LinuxHome
Vous pouvez également enchaîner --exclude
comme ceci :
rsync -Paz --exclude /Downloads --exclude '/Something Else' --exclude .hiddenFile /home/chris/ admin@192.168.1.65:LinuxHome
Notez que puisqu'il n'y a pas de slash, celui-ci exclura .hiddenFile
de tout chaque répertoire qu'il copie !
Mais si vous avez plus de quelques exclusions, vous feriez mieux d'opter pour --exclude-from
et un fichier.
Note
Je vois que vous l'avez bien fait, mais ceux qui ne connaissent pas rsync doivent notez la barre oblique à la fin de /home/chris/
Pour citer le rsync
Vous pouvez considérer qu'un / de fin de ligne sur une source signifie "copier le contenu de ce répertoire" par opposition à "copier le répertoire par son nom".
Donc, si vous n'utilisez pas le slash de fin, vous vous retrouverez avec un répertoire appelé chris
dans le répertoire cible, contenant tout de /home/chris
(sauf l'original Downloads
bien sûr !).