ssh + tar 加速远程拷贝
来源:互联网 发布:并查集算法属于什么 编辑:程序博客网 时间:2024/06/16 03:43
在远程拷贝目录(尤其是包含很多小文件的目录)的时候,使用 scp 命令显得十分无力。对于这种情况,通常我们会先用 tar 命令进行打包,然后使用 scp 命令进行拷贝,这样固然可以大幅度提高速度,不过这将经历以下步骤(这将带来很大的额外开销:红色标记的步骤):
- 在源机器上打包
- 使用 scp 进行远程拷贝
- 在目标机器上解包
- 删除两台机器上的包
我们可以使用 ssh 和 tar 命令的组合来完成这一操作,同时最大程度上减小额外开销,提高拷贝效率。
比如,我们需要从 10.10.0.1 拷贝目录 /home/anke/test 到当前机器的 /tmp 目录,可以使用以下命令:ssh anke@10.10.0.1 "cd /home/anke; tar zcf - test" | tar zxf - -C /tmp
同样,如果我们想把 /tmp/test 目录拷贝回去,可以使用以下命令:
cd /tmp
tar zcf - test | ssh anke@10.10.0.1 tar zxf - -C /home/anke
我把几种不同的远程拷贝策略进行了一个对比(测试的目录大小为 607M ,共有 7394 个小文件组成),测试结果如下:
使用方案耗时直接scp8m27star打包 + scp拷贝打包:0m17s 拷贝:0m15sssh + tar0m19s
由上表可见,ssh + tar 拷贝在速度的提升上效果是很明显的,“直接 scp” 就不说了,“tar打包 + scp拷贝”方案即使没有考虑解包和删包也是要比 ”ssh + tar“方案慢的。
另外,对于大文件来说,尤其是压缩比较高的大文件,也可以使用这种方法来实现加速拷贝。
- ssh + tar 加速远程拷贝
- SSH可以远程拷贝
- SSH远程拷贝文件
- SSH远程拷贝文件
- ssh远程拷贝命令scp
- ssh 远程拷贝命令 scp
- ssh 从远程拷贝文件夹到本地
- linux下远程ssh拷贝文件
- SSH远程登录和SCP拷贝
- ssh从远程拷贝到本地
- 嵌入式 ssh的远程登录指令和远程拷贝指令
- SSH远程链接:SCP远程拷贝文件与文件夹
- SSH拷贝
- 远程拷贝
- 远程拷贝
- 远程拷贝
- linux 下使用SSH 连接远程主机 SCP 拷贝远程文件
- 加速ssh登录
- SQL存储过程通过传送数组字符串参数删除多条记录
- Java根据sessionId获取Session对象
- COM技术初探
- case when 用法
- FLEX开发编码规则
- ssh + tar 加速远程拷贝
- at 发送中文短信
- JExcel入门学习总结
- 【项目管理】项目实战笔记之一:高效会议的组织方法
- 虽然感情的精彩在于分合跌宕,但天长地久的真谛永远只有两个字:平淡。
- flash as3 类型转换
- 包(Parkage) 九
- VideoView笔记
- user pa