国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux如何提高大文件的拷貝效率以節約時間

2020-07-10 11:32:02
字體:
來源:轉載
供稿:網友

  Linux系統操作中,當你在進行機器直接的拷貝時,遇到大文件的時候非常浪費時間,特別是將文件同時拷貝到多臺機器上的時候,那么有什么好的方法能夠提高大文件的拷貝效率呢?一起來學習下吧。

  你可以從源機器逐個拷貝到逐臺目標機器,但是往往時間也是成倍的?;蛘吣阋部梢酝瑫r從源機器同時拷貝到多個目標機器,但是受制于源機器的帶寬等因素,速度并不見得真的很快。

  還好,借助一些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 -

  最后,在源機器上啟動分發鏈,讓數據傳輸到分發鏈的第一環:

  tar cv some_files | pigz | nc hostname_of_first_box 1234

  在我的測試中,分發鏈中的每臺機器大概損失了3%-10%的性能(相對于1對1的拷貝而言),但是相對逐個逐個的拷貝或者單臺機器向多臺機器同時分發,效率提升是很明顯的。

  上面就是Linux提高大文件拷貝效率的方法介紹了,主要通過UNIX工具形成一個文件快速分發鏈來實現大文件的快速拷貝,效率提高了不少。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西丰县| 伊金霍洛旗| 精河县| 昭苏县| 商都县| 阿克陶县| 明星| 外汇| 武宁县| 南华县| 兴文县| 内乡县| 株洲市| 新宁县| 芷江| 石屏县| 石狮市| 栾城县| 城口县| 天长市| 长子县| 南靖县| 重庆市| 淮安市| 武隆县| 墨脱县| 若羌县| 友谊县| 巢湖市| 天全县| 浠水县| 江油市| 肃北| 长白| 德阳市| 东光县| 永定县| 白银市| 康平县| 太谷县| 江达县|