复制后的 Rsync 是否仅发送文件夹之间的差异,或者是否会再次复制整个文件夹,因为 Rsync 以前从未在该文件夹上实现过?
答案1
通常是的;rsync
其工作原理是检查文件是否存在,如果其校验和不相同,则如果文件的某些部分具有相同的校验和,则传输具有不同校验和的部分(或者,如果文件丢失,则回退到传输整个文件)或者不可能找到两边都有匹配校验和的部分)。因此,如果您有一个名称相同但内容完全不同的文件,则传输整个文件而不是差异部分可能会更便宜。
文件本身之外不保留任何状态,因此您以前是否使用过并不重要rsync
。文件中的内容是唯一用来rsync
决定传输内容的内容。
答案2
rsync
可以两者兼得。如果你做类似的事情
rsync -auvz /some/directory remotehost:/destination
then/some/directory
将被递归复制到随后存在的remotehost
位置。/destination/directory
如果再次运行该命令,则只会发送更改。
如果您希望在源中不再存在文件时删除目标中的文件,请添加该--delete
选项。