X

Linux 使用 NC 複製遠端資料夾

要跨機器複製檔案、資料夾等等,可以使用 scp 來達成,不過,使用 scp 會需要加解密的過程,會消耗 CPU 用量,也會讓傳輸整個速度是慢的~

於是想要透過網路不加密直接傳送資料,可以使用 ftp (但是這需要另外裝套件、設定等等)

所以在 Debian Linux 上,直接使用 tar + nc(netcat)直接傳輸,速度比 scp 快很多

Linux 使用 NC 複製遠端資料夾

我們要複製資料的 scp 語法:scp -r 192.168.1.2:/data/backup 192.168.1.1:/home/user

使用 NC 要怎麼做呢?

  1. 接收主機:192.168.1.1 (預計收到資料的主機)
    1. ssh 192.168.1.1
    2. cd /home/user
    3. nc -l -p 9999 | tar xvf -
      • nc -l -p 9999 | pigz -d | tar xvf - # 搭配 pigz 壓縮
  2. 發送主機:(路徑 /data/backup)
    1. ssh 192.168.1.2
    2. cd /data # /data 內含:/data/backup 資料夾
    3. tar cvf - backup | nc 192.168.1.1 9999 # 接收主機 /home/user/backup 會自己有此資料夾
      • tar cvf - backup | pigz -4 | nc 192.168.1.1 9999 # 搭配 pigz 直接解開(pigz -4 使用4顆CPU)

相關網頁

Tsung: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
Related Post