Linux如何提高大文件的拷贝效率

2016-02-19 08:56 42 1 收藏

下面请跟着图老师小编一起来了解下Linux如何提高大文件的拷贝效率,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

【 tulaoshi.com - Linux教程 】

Linux系统操作中,当你在进行机器直接的拷贝时,遇到大文件的时候非常浪费时间,特别是将文件同时拷贝到多台机器上的时候,那么有什么好的方法能够提高大文件的拷贝效率呢?一起来学习下吧。

 Linux如何提高大文件的拷贝效率

你可以从源机器逐个拷贝到逐台目标机器,但是往往时间也是成倍的。或者你也可以同时从源机器同时拷贝到多个目标机器,但是受制于源机器的带宽等因素,速度并不见得真的很快。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

还好,借助一些UNIX工具可以做的更好。把tee和FIFO组合起来,可以形成一个文件快速分发链:处于分发链中的每台机器会保存文件,同时还分发给它的下一环。

首先,选定一台目标机器做为分发链的最后一环,在这台机器上只需要用nc监听(假定端口是1234),再通过管道由pigz解压缩,继续通过管道把数据交由tar来分解。

nc -l 1234| pigz -d | tar xvf -

然后,再从分发链的末端往上走,设置其它目标机器,同样要经过监听、解压、分解,不过在解压之前我们通过tee命令将数据输出到命名管道(FIFO),另外的一条shell管道会将这些未解压的数据同时分发到分发链的下一环:

mkfifo myfifo

nc hostname_of_next_box 1234 nc -l 1234| tee myfifo | pigz -d | tar xvf -

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

最后,在源机器上启动分发链,让数据传输到分发链的第一环:

tar cv some_files | pigz | nc hostname_of_first_box 1234

在我的测试中,分发链中的每台机器大概损失了3%-10%的性能(相对于1对1的拷贝而言),但是相对逐个逐个的拷贝或者单台机器向多台机器同时分发,效率提升是很明显的。

上面就是Linux提高大文件拷贝效率的方法介绍了,主要通过UNIX工具形成一个文件快速分发链来实现大文件的快速拷贝,效率提高了不少。

来源:http://www.tulaoshi.com/n/20160219/1588931.html

延伸阅读
如何提高iPhone手机的充电效率? 如何提高iPhone手机的充电效率? 1、关机或飞行模式时充电最快 智能手机的显示屏和游戏应用是最耗电的。因此,充电的时候,很多人会关掉手机屏幕,不使用手机应用软件。然而,很少有人知道,智能手机的通讯和信息同步也会消耗很多电量。 所以,在需要紧急充电的时候,关掉手机电源...
能否有绝佳的工作心情、极高的工作效率,关键就在于你如何开始一天的工作。若要确保能有完美的一天,每天早上开始工作之前,应当先做好以下14件事情。 1.准时上班:准时或提早到公司,看似微不足道的事情,却很有可能影响你一天的工作情绪。准时抵达公司,心里不会因为匆忙赶时间而变得焦虑,也会因此产生某种...
标签: 电脑入门
对于我们金山卫士清理模块新增的大文件管理功能,不知道大家是否体验过了呢? 我们知道,如果电脑的系统盘(一般为C盘)空间不足时,我们的电脑会变得运行缓慢,同时还会有某些软件会因为系统盘空间不足而无法安装等等一系列问题。 这个时候应该怎么办呢?重装系统,文件备份、重装软件都不是三五分钟就能搞定的;于是,金山卫士大文件管理功能也...
?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />   当一个代码段正对集合进行枚举而另一段代码试图修改这个集合时,就会发生常见的多线程问题。解决这一问题的方法是在处理前拷贝一份枚举变量。 在撰写多线程代码时,你碰到过多少次下面的提示: Exception in thread "main" java.u...
标签: 养生 健康
脑组织与其他器官不同,它没有能源储备。要想让脑细胞正常工作,就必须源源不断地供应氧和葡萄糖,而血流是氧和葡萄糖进入大脑的唯一途径。设法增加脑血流量是提高大脑功能的基础,而运动恰恰有这样的作用。尤其是那些脑力工作者,他们比一般人需要更多的氧气和葡萄糖,工作再忙也应该抽出时间运动,以提高用脑效率。 研究人员发现,...

经验教程

955

收藏

32
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部