Stai fornendo percorsi assoluti nel tuo elenco di esclusioni.
Con rsync, tutti i percorsi di esclusione (o inclusione!) Che iniziano con /
sono ancorati alla " radice del trasferimento ".
La radice del trasferimento in questo caso è /home/chris
. Se avete fatto:
rsync -Paz --exclude-from 'rsync-exclude.txt' / admin@192.168.1.65:
... allora le tue esclusioni dovrebbero funzionare (ma dovresti copiare tutto il resto su quel filesystem!).
Ma dal momento che stai solo cercando di sincronizzare la tua home directory e non esiste una sottodirectory di /home/chris
named "home/chris/Downloads"
, rsync
non trova nulla che corrisponda.
Quindi prova a rimuovere le /home/chris
parti dal tuo rsync-exclude.txt
file.
In realtà, dovresti solo aver bisogno di una sola riga nel file:
/Downloads
Nota che se non specifichi il lead /
e ti capita di avere altre directory nominate "Downloads"
, anche quelle sarebbero escluse. Presumo che tu voglia solo escludere la tua directory "di livello superiore" (relativa alla directory di origine, nota anche come "radice del trasferimento") Downloads
, quindi vorrai il comando principale /
.
IL MODO PIÙ SEMPLICE (per escludere solo alcuni percorsi)
Se hai solo bisogno di escludere una directory, fai semplicemente questo (evitando un file separato):
rsync -Paz --exclude /Downloads /home/chris/ admin@192.168.1.65:LinuxHome
Puoi anche concatenare i --exclude
tag in questo modo:
rsync -Paz --exclude /Downloads --exclude '/Something Else' --exclude .hiddenFile /home/chris/ admin@192.168.1.65:LinuxHome
Si noti che poiché non c'è barra, che si escluderà .hiddenFile
da eventuali ogni directory si copia!
Ma se hai più di qualche esclusione, stai meglio con --exclude-from
e un file.
Nota
Vedo che hai capito bene, ma quelli nuovi di rsync dovrebbero notare la barra alla fine di/home/chris/
Per citare la rsync
pagina man, "Puoi pensare a un trailing / su una fonte come" copia il contenuto di questa directory "anziché" copia la directory per nome "."
Quindi, se si interrompesse quella barra finale, si finirebbe con una directory chiamata chris
all'interno della directory di destinazione, contenente tutto /home/chris
(tranne la Downloads
directory originale , ovviamente!).