Answers:
您误解了rsync。该命令:
rsync -avv left/ right/
不会从右到左同步任何内容。就像@atbg所说的,它只会从左到右同步。Rsync不是双向同步器。它将目标与源同步。
手册页供参考: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
。
--dry-run
选项将为您显示将要传输但未实际执行传输的文件的列表。我将其添加到所有命令的开头,rsync
以防万一,即使我确定命令正确无误。
--update
选项,该选项将跳过(不同步)modified
在接收端具有较新时间的文件。
rsync -avzz -e "ssh -p 2222" /source/ /target/