哪个协议需要 rsync 才能通过源服务器和目标服务器启用校验和计算?

哪个协议需要 rsync 才能通过源服务器和目标服务器启用校验和计算?

我执行同步目标服务器上的选项--checksum如下:

rsync -av --bwlimit=800000 --delete --checksum /mnt/disks/SMB_SRC/ /mnt/user/dst

但当我将源服务器安装为 SMB 共享时,所有文件都完全传输到目标服务器以计算校验和。需要哪些协议来启用在源服务器上计算源文件的校验和以避免传输所有文件?仅 rsync 守护进程 (rsync://) 还是也支持其他协议?

答案1

当源和目标都是“本地”路径时,它已经必须读取两侧来计算校验和。没有 SMB 调用来请求校验和,因此无法减少 I/O。

传输的一侧必须是远程的以避免 I/O。另一端不必有守护程序,但标准 SSH 连接也可以工作。

$ rsync /localpath /otherlocalpath     # Both sides read.  No checksum comparison
$ rsync /localpath server:/remotepath  # Destination remote
$ rsync server:/remotepath /localpath  # Source remote

相关内容