我正在通过已安装的共享将文件从 Linux 传输到 Windows 7(该共享已安装从视窗在Linux).. 我正在局域网内将大量数据(近 1 TB)从旧机器复制到新机器。不幸的是,我只有 100MBit。当然,我盲目地使用了 rsync,但一天后我就想知道为什么它感觉这么慢。启用进度表显示我的传输速率约为 2MB/s。
因此我取了一个相当大的文件(800MB)并跟踪了传输时间(1):
cp : 05:33
scp (2): 06:33
rsync : 21:51
1) 我在每次运行之间删除了文件
2) 通过 localhost 将 scp 直接复制到同一台 Linux 机器上的共享上;完全没用,但提供了一个进度计
测试很简单
(cp|scp|rsync) <source> <destination>
除了 scp 的主机/端口外,没有特殊参数。我甚至尝试-W
切换 rsync,但十分钟后就取消了。rsync 在 Lenny 上运行的是 3.0.3。为了能够随时中断复制过程并恢复,我选择了 rsync,但现在我觉得我真的需要重新考虑这个要求。
怎么会有这么大的差别呢?
更新/解决:
谢谢舒勒我能够解决这个问题:出于效率原因,使用 rsync 守护进程而不是 smb 安装。上述 DeltaCopy 有效,但需要注意一些事情
- 它是一个很好的 GUI 包装器,但如果出现问题,知道如何修复它会很有用。似乎我第一次输入了运行 rsync 服务的用户凭据是错误的,但 GUI 不允许我设置新的凭据。我发现它正在作为服务运行,并能够在那里设置正确的凭据
- 需要手动将端口添加到防火墙以允许连接
- 个人喜好:确保共享受密码保护,如果没有,也许可以确保服务不会随 Windows 自动启动;以防万一
- 包装的 rsync 二进制文件不是原生 Windows 端口,而是在 cygwin 上构建的。但是,所包含的 cygwin DLL 无法正确处理 UTF8 和混乱的非 ASCII 字符。从获取修复的 DLLhttp://www.okisoft.co.jp/esc/utf8-cygwin/。
此后,传输速率从 2MB/s 跃升至约 8MB/s;绝对棒极了!