我有一个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服务器在远程系统上运行且客户端在本地系统上时,delta算法最有用.
当因为stat()输出不同(大小,修改日期)而决定需要传输大文件时,则某些rsync进程需要读取源文件和目标文件.如果已安装远程文件,则本地系统上运行的进程将通过网络读取整个文件.如果您连接到远程系统上的rsync守护程序,则远程rsync进程将读取文件,并将使用该算法来确定需要更新哪些块,并且只有差异将通过网络.
至于为什么它很慢,可能有很多原因.如果您选择的文件基本上是大量的小文件,那么您需要传输的时间可能无关紧要,而您正在等待stat()完成.
如果您通过wan连接运行SMB,则可能会因高延迟链接问题而遇到标准SMB.
您可能希望在Windows框中设置可以运行rsync的SSH服务器.它不再是免费的,但我通常使用CopSSH / cwRsync.