あなたは提供されている絶対あなたの除外リスト内のパスを。
rsyncでは、すべてのexclude(またはinclude!)で始まるパス/
は「転送のルート」に固定されます。
この場合の転送のルートは/home/chris
です。あなたがした場合:
rsync -Paz --exclude-from 'rsync-exclude.txt' / admin@192.168.1.65:
...その後、除外が機能するはずです(ただし、そのファイルシステムの他のすべてをコピーすることになります!)。
しかし、あなたは自分の同期しようとしているので、ホームディレクトリを、とのないサブディレクトリが存在しない/home/chris
という名前は"home/chris/Downloads"
、rsync
一致するものが見つかっていません。
そのため/home/chris
、rsync-exclude.txt
ファイルからパーツを削除してみてください。
実際、ファイルには1行だけが必要です。
/Downloads
先頭のを指定せずに、/
という名前の他のディレクトリがある"Downloads"
場合、それらも除外されることに注意してください。「トップレベル」(ソースディレクトリに関連する、「転送のルート」とも呼ばれる)Downloads
ディレクトリのみを除外したいので、先頭の/
。
最も簡単な方法(少数のパスのみを除外する)
1つのディレクトリのみを除外する必要がある場合は、これを実行します(個別のファイルを回避します)。
rsync -Paz --exclude /Downloads /home/chris/ admin@192.168.1.65:LinuxHome
次の--exclude
ようにタグを連結することもできます。
rsync -Paz --exclude /Downloads --exclude '/Something Else' --exclude .hiddenFile /home/chris/ admin@192.168.1.65:LinuxHome
スラッシュがないため、コピーするすべてのディレクトリ.hiddenFile
から除外されることに注意してください!
ただし、いくつかの除外が存在する場合は--exclude-from
、ファイルを使用する方が適切です。
注意
私はあなたが右のそれを得ていることがわかりますが、rsyncのに新しいものはすべき最後のスラッシュに注意のを/home/chris/
rsync
マニュアルページを引用すると、「ソースの末尾/は、「名前でディレクトリをコピーする」のではなく、「このディレクトリの内容をコピーする」ことを意味すると考えることができます。」
あなたがその末尾のスラッシュをオフに左であれば、あなたはというディレクトリで終わるだろうchris
、ターゲットディレクトリ内含むからすべて/home/chris
(オリジナル除くDownloads
もちろん、ディレクトリを!)。