rsync:一方向のみにファイルを転送します


21

rsyncを使用してファイルを一方向にのみコピーすることは可能ですか?

たとえば、次のものがあるとします。

left/a.txt

right/a.txt

ファイルは最初は同一です。

次にを変更するとright/a.txt、次のようになります。

rsync -avv left/ right/

にコピーright/a.txtleft/a.txtます。

からleft/へのコピーのみにrsyncを制限することは可能ですかright/(つまり、からright/へのコピーを禁止しleft/ます)?

回答:


33

rsyncを誤解しています。このコマンド:

rsync -avv left/ right/ 

右から左に何も同期しません。@atbgが言うように、左から右にのみ同期します。Rsyncは双方向の同期機能ではありません。destとソースを同期します。

参照用のmanページ:http : //linux.die.net/man/1/rsync


興味深いことに、それは双方向でssh経由で同期リモートディレクトリへのrsyncの少なくともMac版を操作するとき-例えばrsync -avzz -e "ssh -p 2222" /source/ /target/
geotheory

4

rsync [OPTION...] SRC... [DEST](destとsrcを切り替えない限り)その方向で動作するようにする必要があります。

left/a.txtにコピーする必要がありますright/a.txt

$ echo 'left' > left/a.txt
$ echo 'right' > right/a.txt
$ cat left/a.txt && cat right/a.txt
left
right
$ rsync -avv left/ right/
sending incremental file list
delta-transmission disabled for local transfer or --whole-file
a.txt
total: matches=0  hash_hits=0  false_alarms=0 data=5

sent 95 bytes  received 34 bytes  258.00 bytes/sec
total size is 5  speedup is 0.04
$ cat left/a.txt && cat right/a.txt
left
left

特定のファイルがある場合、あなたは見てとるのrsyncで含まれたくない--exclude=PATTERNとします--exclude-from=FILE


2
また、疑わしい場合は、--dry-run転送されたはずのファイルのリストが表示されますが、実際には転送は実行されません。rsyncコマンドが正しいと確信している場合でも、予防措置としてこれをすべての先頭に追加します。
-slillibri

1
rsyncの操作に関する混乱を考えると、rsyncの--updateオプションに注意する価値があります。これはmodified、受信側で最近の時間があるファイルをスキップ(同期ではなく)します。
リチャードマイケル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.