我是否正确使用 Rsync?

我是否正确使用 Rsync?

这是我想要的结果:

在此处输入图片描述

我希望在所有子目录和文件中实现这样的结果,将计算机桌面上的父目录 Work 的所有内容同步到外部硬盘上的旧版本目录 Work,以下命令是否合适rsync?我刚刚开始使用rsync!谢谢!

注意,我从根目录开始,您Macintosh HD可以在其中看到Applications、、、等等。外部硬盘驱动器已经有一个工作目录,我正在将其与桌面上的内容同步,因为外部硬盘上的目录要旧得多。LibraryNetworkSystemVolumes

rsync -a Users/<myname>/Desktop/Work/ /Volumes/WD\ Passport/<myname>/Work/

答案1

如果我错了,请纠正我...我做了一些测试。我最初编写的命令在第 5 行中没有实现预期的结果。如果目标文件有较新的时间戳,这仍然会用同名的源文件替换它。相反,我需要一个--update标志:

rsync -a --update Users/<myname>/Desktop/Work/ /Volumes/WD\ Passport/<myname>/Work/

我想我在某处读到过有些人使用的--ignore-existing方法也是不正确的。如果文件在目标上已经按名称存在,那么基本上就不会将文件从源移动到目标。因此,拥有该标志将违反第 4 行的要求

不确定这是否是必需的,但我还需要在我的根目录中才能使其工作。

另外,如果相同的文件被排序在不同的子目录下,这可能会导致重复。例如,

目标已将 Tester/FileA 源移动到新子目录 Tester/NewDir/FileA

将会发生的事情是,Destination 将收到 NewDir/FileA 的副本,并且现在在 Destination 中,FileA 将存在于两个地方,即 NewDir/FileA(最近同步的版本)和 Tester/FileA。

这是比较标准的行为,我可以接受

相关内容