rsync的deltaalgorithm在samba共享上工作吗?

我有一个cron作业,使用rsync同步Windows samba共享(我启动时使用/ etc / fstab挂载)上的数据。 我的问题是转移似乎需要几乎与最初的转移一样长。 我有很多文件,所以我想还是要检查每个文件的变化,但是第二次应该快一点吗? 我只是用这样的命令:

rsync -aver ssh /mnt/winserver/d/www /path/to/disk/rsync-backup/ 

其中/ mnt / winserver是一个挂载的cifs共享和/ path / to / disk是我的本地磁盘空间。

需要记住的是,当rsync服务器在远程系统上运行且客户机在本地系统上时,deltaalgorithm最为有用。

当由于stat()输出不同(大小,修改date)而决定需要传输大文件时,一些rsync进程需要读取源文件和目标文件。 如果您安装了远程文件,则在本地系统上运行的进程将通过networking读取整个文件。 如果连接到远程系统上的rsync守护程序,则远程rsync进程将读取这些文件,并且将使用该algorithm来确定哪些块需要更新,并且只有这些差异会通过networking。

至于为什么这么慢,可能有很多原因。 如果你select的文件基本上是大量的小文件,那么你需要传输的时间可能是不相关的,你正在等待stat()完成。

如果您正在通过WAN连接运行SMB,则可能会遇到标准SMB在高延迟链接问题上的问题。

您可能需要考虑在可运行rsync的Windows机器上设置SSH服务器。 它不再免费,但我通常使用CopSSH / cwRsync。