Vous fournissez des chemins absolus dans votre liste d'exclusion.
Avec rsync, tous les chemins d’exclusion (ou d’inclusion!) Commençant par /
sont ancrés à la " racine de transfert ".
La racine du transfert dans ce cas est /home/chris
. Si vous avez fait:
rsync -Paz --exclude-from 'rsync-exclude.txt' / [email protected]:
... alors vos exclusions devraient fonctionner (mais vous copieriez tout le reste sur ce système de fichiers!).
Mais puisque vous essayez juste de synchroniser votre maison répertoire, et il n'y a pas de sous - répertoire /home/chris
nommé "home/chris/Downloads"
, rsync
ne trouve rien qui correspond.
Essayez donc de supprimer les /home/chris
pièces de votre rsync-exclude.txt
fichier.
En fait, vous n’auriez besoin que d’une seule ligne dans le fichier:
/Downloads
Notez que si vous ne spécifiez pas l'interligne /
et que d'autres répertoires sont nommés "Downloads"
, ceux-ci seront également exclus. Je suppose que vous souhaitez uniquement exclure votre répertoire "de niveau supérieur" (par rapport au répertoire source, autrement dit "racine du transfert") Downloads
, de sorte que vous souhaiterez le principal /
.
LE PLUS FACILE (pour n'exclure que quelques chemins)
Si vous n'avez besoin que d'exclure un répertoire, procédez comme suit (en évitant un fichier séparé):
rsync -Paz --exclude /Downloads /home/chris/ [email protected]:LinuxHome
Vous pouvez également chaîner des --exclude
tags, comme ceci:
rsync -Paz --exclude /Downloads --exclude '/Something Else' --exclude .hiddenFile /home/chris/ [email protected]:LinuxHome
Notez que puisqu'il n'y a pas de barre oblique, celui-ci sera exclu .hiddenFile
de tous les répertoires qu'il copie!
Mais si vous avez plus que quelques exclusions, il vaut mieux utiliser --exclude-from
un fichier.
Remarque
Je vois que vous avez bien compris, mais les nouveaux utilisateurs de rsync devraient noter la barre oblique à la fin de/home/chris/
Pour citer la rsync
page de manuel, "vous pouvez considérer un point final / sur une source comme signifiant" copier le contenu de ce répertoire "par opposition à" copier le répertoire par son nom "."
Donc, si vous laissiez de côté la barre oblique finale, vous obtiendriez un répertoire appelé chris
dans le répertoire cible, contenant tout le contenu de /home/chris
(sauf le Downloads
répertoire d' origine , bien sûr!).