Rsyncを使用してファイルを一方向にのみコピーすることは可能ですか?
たとえば、次のように仮定します。
left/a.txt
right/a.txt
ファイルは最初は同じです。
次にright/a.txt
を変更すると、次のようになります。
rsync -avv left/ right/
right/a.txt
をleft/a.txt
にコピーします。
Rsyncをleft/
からright/
へのコピーのみに制限することはできますか(つまり、right/
からleft/
へのコピーを禁止します)?
あなたはrsyncを誤解しています。このコマンド:
rsync -avv left/ right/
右から左に何も同期しません。 @atbgが言うように、左から右にのみ同期します。 Rsyncは双方向同期ではありません。 destをソースと同期します。
参考のためのマニュアルページ: http://linux.die.net/man/1/rsync
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
を確認してください。