我正在通过挂载的共享将文件从Linux转移到Windows 7(该共享从Linux上的Windows挂载)..我正在从局域网内的旧机器复制大量数据(即接近TB) 。 我已经不幸了,我只有100MBit。 当然,我一味地使用rsync,但一天之后就已经想知道为什么它感觉如此缓慢。 启用进度表显示我的传输速率约为2MB / s。
所以我拿了一个合理的大文件(800MB)跟踪传输时间(1):
cp : 05:33 scp (2): 06:33 rsync : 21:51
1)我在每次运行之间删除了这些文件
2)通过本地主机scp直接将同一台Linux机器上的共享; 完全没用,但提供了一个进度表
这些testing非常简单
(cp|scp|rsync) <source> <destination>
除了主机/端口的scp没有特殊的参数。 我甚至尝试了-W开关的rsync,但十分钟后取消。 在Lenny上运行的rsync是3.0.3。 为了能够随时中断复制过程并恢复到rsync,但现在我认为我需要重新考虑这个需求。
如何有这么大的差异?
更新/解决:
感谢rschuler,我能够解决这个问题:出于效率原因,使用rsync守护进程而不是smb安装。 上述DeltaCopy的作品,但必须注意一些事情
之后,转移额度从2MB / s跃升至〜8MB / s; 绝对精彩!
(共享从Linux上的Windows安装)
那是你的问题。 rsync正在对目标进行滚动校验和。 窗户共享。 您正在通过networking提取所有数据来计算校验和。 (可能不止一次)。
你需要做的是在两台机器上运行rsync。 这样只有差异(和校验和)将通过networking电缆传输。 DeltaCopy是一个窗口化的rsync。 它有足够的文档让你去。
为了更好地解释为什么我认为你可能会滥用rsync,请参考这个问题的答案。