Jesteś zapewnienie bezwzględnych ścieżek w swojej wykluczyć listy.
W przypadku rsync wszystkie ścieżki wykluczania (lub dołączania!) Zaczynające się od /
są zakotwiczone w „ katalogu głównym transferu ”.
Podstawą transferu w tym przypadku jest /home/chris
. Jeśli zrobiłeś:
rsync -Paz --exclude-from 'rsync-exclude.txt' / [email protected]:
... wtedy twoje wyłączenia powinny działać (ale kopiowałbyś wszystko inne w tym systemie plików!).
Ale ponieważ próbujesz po prostu zsynchronizować swój katalog domowy , a nie ma podkatalogu /home/chris
nazwanego "home/chris/Downloads"
, rsync
nie znajdziesz nic pasującego.
Spróbuj więc usunąć /home/chris
części z rsync-exclude.txt
pliku.
Właściwie powinieneś potrzebować tylko jednego wiersza w pliku:
/Downloads
Zauważ, że jeśli nie określisz wiodącego /
, a akurat masz inne katalogi "Downloads"
, zostaną one również wykluczone. Zakładam, że chcesz tylko wykluczyć swój katalog „najwyższego poziomu” (w stosunku do katalogu źródłowego, zwanego także „katalogiem głównym transferu”) Downloads
, więc będziesz potrzebować wiodącego /
.
NAJPROSTSZY SPOSÓB (aby wykluczyć tylko kilka ścieżek)
Jeśli chcesz wykluczyć tylko jeden katalog, po prostu zrób to (unikając osobnego pliku):
rsync -Paz --exclude /Downloads /home/chris/ [email protected]:LinuxHome
Możesz także połączyć ze sobą --exclude
tagi, tak jak:
rsync -Paz --exclude /Downloads --exclude '/Something Else' --exclude .hiddenFile /home/chris/ [email protected]:LinuxHome
Należy zauważyć, że ponieważ nie ma ukośnik, że jedno wyklucza .hiddenFile
z jakichkolwiek każdym katalogu to kopie!
Ale jeśli masz więcej niż kilka wykluczeń, lepiej --exclude-from
mieć plik i plik.
Uwaga
Widzę, że masz rację, ale tych nowych do rsync należy zwrócić uwagę na ukośnik na końcu z/home/chris/
Cytując rsync
stronę podręcznika: „Możesz pomyśleć o końcowym / w źródle, które oznacza„ skopiuj zawartość tego katalogu ”w przeciwieństwie do„ skopiuj katalog według nazwy ”.
Więc jeśli pominąłeś końcowy ukośnik, skończyłby się to katalogiem nazwanym chris
w katalogu docelowym, zawierającym wszystko od /home/chris
( Downloads
oczywiście oprócz katalogu oryginalnego !).