服务器对 RSync 的支持是否可以加快备份过程?

服务器对 RSync 的支持是否可以加快备份过程?

我有 Synology 210j NAS,它支持rsync。目前此功能已禁用,我使用以下代码从我的 Mac 备份数据:

mkdir /Volumes/BackupTemp
mount -t smbfs //login:[email protected]/backup /Volumes/BackupTemp

rsync -archive -backup --stats -h --exclude='.metadata/' --exclude='.Trash/' --exclude='*.pyc' /Users/me/Dev/ /Volumes/BackupTemp/MacBook/Work/

cp /Users/me/KeePass_db.kdbx  /Volumes/BackupTemp/MacBook/

NAS 上有Enable network backup service一个选项(支持rsync)。我不明白 - 如果我启用此选项,它是否会以某种方式帮助我加快备份过程?启用此选项与不启用此选项时有什么区别?

答案1

当您像所展示的那样使用 rsync 时,所有文件传输都通过文件共享进行,NAS 对正在使用的 rsync 一无所知。如果您启用 rsync 协议,那么例如检查文件更改、校验和等可以在 NAS 上运行,而不是在您的计算机上运行。因此,您无需从 NAS 读取文件并进行检查,只需通过网络发送简单的“是的,此文件已更改”和/或校验和。因此,速度会快得多,因为需要发送的数据更少。

您可以通过启用 rsync 服务器选项并更改 rsync 命令行以使用 rsync 协议而不是文件共享来轻松测试这一点。

答案2

是的,很有可能。

使用 SMB 时(这已经是-t cifs十年前的事了),rsync 的工作方式与本地文件相同。如果它发现一个大文件的修改时间不同,它必须读取整个文件通过 SMB来确定要更新哪些部分。

另一方面,如果它可以与另一台设备上的另一个 rsync 通信,它可以使用有效的协议来确定应该更新什么并发送所需的数据块。

话虽如此,如果它启用了“裸 rsync”模式,我不确定是否需要该选项。通过 SSH 运行 rsync 会更安全,并且不需要显式激活,只需要一个特殊路径:

rsync -avz /Users/me/ 192.168.1.2:/backup/MacBook/

相关内容