同时运行多个scp线程:

背景:

我经常发现自己经常镜像一组服务器文件,并且这些服务器文件中包含数千个小的1kb-3kb文件.所有服务器都连接到1Gbps端口,通常分布在各种数据中心.

问题:

SCP一个接一个地传输这些小文件,这需要很长时间,我觉得我在浪费我拥有的美丽网络资源.

解?:

我有个主意;创建一个脚本,将文件分成相等的数量,然后启动5-6个scp线程,从理论上讲,这样可以快5-6倍,不是吗?但我没有任何linux脚本编写经验!

问题(S):

>对于上述问题,是否有更好的解决方案?
>这样的东西已经存在吗?
>如果没有,是否有人会给我一个开始,或帮助我?
>如果不是2或3,哪里是开始学习linux脚本的好地方?像bash或其他.

解决方法

我会这样做:

tar -cf – / manyfiles | ssh dest.server’tar -xf – -C / manyfiles’

根据您传输的文件,在tar命令中启用压缩是有意义的:
tar -czf – / manyfiles | ssh dest.server’tar -xzf – -C / manyfiles’

为ssh命令(如arcfour)选择CPU友好密码也可能有意义:
tar -cf – / manyfiles | ssh -c arcfour dest.server’tar -xf – -C / manyfiles’

或者将它们结合起来,但这实际上取决于你的瓶颈是什么.显然,如果您正在进行增量同步,rsync将会快得多.

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。