如何rsync到不同的目录?

har*_*arp 5 rsync

这是我想要实现的目标:

运行 Rsync 以递归方式比较两个目录,如下所示:

rsync -r /source /target
Run Code Online (Sandbox Code Playgroud)

但实际上并不在目录之间进行 rsync。我希望产生的差异被 rsyncd/复制到另一个 3. 目录。

有任何想法吗?

Den*_*ker 6

--compare-dest 你的朋友在这里吗:

rsync -rvn --compare-dest /target/ /source/ /extra_target/
Run Code Online (Sandbox Code Playgroud)

(在确认它适合您后删除 -v 和 -n)

这是一个显示它的 shell 会话:

dennis@lightning:~$ cd /tmp
dennis@lightning:/tmp$ mkdir rs1
dennis@lightning:/tmp$ touch rs1/f1
dennis@lightning:/tmp$ rsync -av rs1/ rs2/
sending incremental file list
created directory rs2
./
f1

sent 96 bytes  received 34 bytes  260.00 bytes/sec
total size is 0  speedup is 0.00
dennis@lightning:/tmp$ touch rs1/f2
dennis@lightning:/tmp$ rsync -avn rs1/ rs2/
sending incremental file list
./
f2

sent 71 bytes  received 18 bytes  178.00 bytes/sec
total size is 0  speedup is 0.00 (DRY RUN)
dennis@lightning:/tmp$ rsync -avn rs1/ rs3/
sending incremental file list
created directory rs3
./
f1
f2

sent 49 bytes  received 15 bytes  128.00 bytes/sec
total size is 0  speedup is 0.00 (DRY RUN)
dennis@lightning:/tmp$ rsync -rnv --compare-dest /tmp/rs2/ rs1/ rs3/
sending incremental file list
created directory rs3
f2

sent 49 bytes  received 15 bytes  128.00 bytes/sec
total size is 0  speedup is 0.00 (DRY RUN)
Run Code Online (Sandbox Code Playgroud)