linux – 同时运行多个scp线程

前端之家收集整理的这篇文章主要介绍了linux – 同时运行多个scp线程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
同时运行多个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将会快得多.

猜你在找的Linux相关文章