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将会快得多.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...