Anda memberikan jalur absolut dalam daftar pengecualian Anda.
Dengan rsync, semua jalur kecualikan (atau sertakan!) Yang dimulai dengan /
ditambatkan ke " root of transfer ".
Akar transfer dalam kasus ini adalah /home/chris
. Jika Anda melakukannya:
rsync -Paz --exclude-from 'rsync-exclude.txt' / [email protected]:
... maka pengecualian Anda akan berfungsi (tetapi Anda akan menyalin semua hal lain di sistem file itu!).
Tetapi karena Anda hanya mencoba menyinkronkan direktori home Anda , dan tidak ada subdirektori dari /home/chris
namanya "home/chris/Downloads"
, rsync
tidak menemukan apa pun yang cocok.
Jadi coba hapus /home/chris
bagian dari rsync-exclude.txt
file Anda .
Sebenarnya, Anda hanya perlu satu baris dalam file:
/Downloads
Perhatikan bahwa jika Anda tidak menentukan /
arahan, dan Anda memiliki direktori lain bernama "Downloads"
, itu juga akan dikecualikan. Saya berasumsi Anda hanya ingin mengecualikan direktori "tingkat atas" Anda (relatif terhadap direktori sumber, alias "root transfer") Downloads
, jadi Anda ingin yang memimpin /
.
CARA TERMUDAH (untuk mengecualikan hanya beberapa jalur)
Jika Anda hanya perlu mengecualikan satu direktori, lakukan saja ini (menghindari file terpisah):
rsync -Paz --exclude /Downloads /home/chris/ [email protected]:LinuxHome
Anda juga dapat menyatukan --exclude
tag, seperti:
rsync -Paz --exclude /Downloads --exclude '/Something Else' --exclude .hiddenFile /home/chris/ [email protected]:LinuxHome
Perhatikan bahwa karena tidak ada garis miring, salah satu yang akan mengecualikan .hiddenFile
dari setiap setiap direktori itu salinan!
Tetapi jika Anda memiliki lebih dari beberapa pengecualian, Anda lebih baik dengan --exclude-from
dan file.
Catatan
Saya melihat bahwa Anda sudah benar, tetapi mereka yang baru untuk rsync harus diperhatikan garis miring pada akhir dari/home/chris/
Mengutip rsync
halaman manual, "Anda dapat menganggap trailing / pada sumber sebagai makna 'salin isi direktori ini' sebagai kebalikan dari 'salin direktori dengan nama'."
Jadi, jika Anda mengabaikan slash trailing itu, Anda akan berakhir dengan direktori yang disebut chris
dalam direktori target, yang berisi semuanya dari /home/chris
(kecuali Downloads
direktori asli , tentu saja!).