我试图发送服务器之间的巨大(大约5 GB的巨大)文件..哪个更好,SFTP或SFTP?
有人可以指点我的sftp vs rsync的比较,如果有的话? 这个比那个好吗 ? 如果是,为什么?
请指教..
对于像这样的大文件,使用带有--inplace
或--partial-dir=
选项的rsync
,这样,如果传输中途中断(例如由于意外的连接中断),只需重新运行相同的命令。
我倾向于使用rsync
来进行大多数通用的传输,而不仅仅是在实际需要更全面的同步function的情况下。 如果通过ssh
运行(通常是这样),效率也不低于sftp
。
我认为sftp
(和相关的scp
)的主要优点是通常在ssh
可用的任何地方可用,所以几乎任何Linux / BSD /类似的客户端或服务器设置,而rsync
不倾向于默认安装。
scp/sftp/rsync
在文件的实际传输上很慢,甚至在Nehalems上也是如此,因为encryption是一个非常沉重的负担。 另外我还有一个印象: scp/ssh
设置了自己的魔术插槽选项,例如TCP窗口大小,并且总是很慢(在本地 10Gbpspath上最高速度为50-70MB / s)。
特别是对于较大的文件和广域网,这使我感到困惑,我不明白为什么有人认为他更聪明,然后从操作系统的底层TCP堆栈。
我将研究Globus Toolkit的GridFTP(这是类固醇上的FTP),它使用并行/多streamTCP会话进行批量传输,并且也是完全WAN调优的。 您可以使用全面的PKI备份GridFTP,或者使用ssh获取凭证和会话启动。 以10Gbps的速度运行线速,并可根据需要进行扩展和负载均衡,但这确实是TB数据所需要的。
编辑:是的,有SSH修补程序修复窗口选项,并引入一个空密码进行传输,只使用密钥交换和凭证的encryption,但你需要有连接的两个终结者有SSH的build设充分利用它。