首頁 > 軟體

Linux主機之間傳輸檔案的幾種方法對比

2020-06-16 18:00:56

1.scp傳輸

scp -r /data/file root@ip:/data/
scp -C /data/sda.img root@ip:/data/img/
#-r: 支援目錄
#-C: 啟用壓縮傳送

scp傳輸速度較慢,但使用ssh通道保證了傳輸的安全性

設定scp在Linux或Unix之間傳輸檔案無需密碼  http://www.linuxidc.com/Linux/2015-01/111894.htm

Linux之cp/scp命令+scp命令詳解 http://www.linuxidc.com/Linux/2014-09/107127.htm

CentOS 不能使用scp命令 解決方法 http://www.linuxidc.com/Linux/2014-09/106569.htm

兩台Linux主機之間scp複製檔案 http://www.linuxidc.com/Linux/2014-04/99979.htm

2.rsync差異化傳輸(支援斷點續傳,資料同步)

rsync -av /backup/ -e ssh root@192.168.1.110:/bak
#-a: archive歸檔模式,表示以遞迴方式傳輸檔案,並保持所有檔案屬性,連結等,等於-rlptgoD

rsync——remote sync。rsync是Linux系統下的檔案同步和資料傳輸工具,它採用“rsync”演算法,可以將一個客戶機和遠端檔案伺服器之間的檔案同步,也可以在本地系統中將資料從一個分割區備份到另一個分割區上。如果rsync在備份過程中出現了資料傳輸中斷,恢復後可以繼續傳輸不一致的部分。rsync可以執行完整備份或增量備份。它的主要特點有:
1.可以映象儲存整個目錄樹和檔案系統;
2.可以很容易做到保持原來檔案的許可權、時間、軟硬連結;無須特殊許可權即可安裝;
3.可以增量同步資料,檔案傳輸效率高,因而同步時間短;
4.可以使用rcp、ssh等方式來傳輸檔案,當然也可以通過直接的socket連線;
5.支援匿名傳輸,以方便進行網站鏡象等;
6.加密傳輸資料,保證了資料的安全性;

Rsync實現檔案備份同步詳解 http://www.linuxidc.com/Linux/2014-09/106967.htm

Rsync同步兩台伺服器 http://www.linuxidc.com/Linux/2014-09/106574.htm

CentOS 6.5下Rsync遠端同步 http://www.linuxidc.com/Linux/2014-05/101084.htm

Ubuntu Linux下用Rsync進行資料備份和同步配製 http://www.linuxidc.com/Linux/2014-03/97592.htm

Linux使用Rsync用戶端與伺服器端同步目錄進行備份 http://www.linuxidc.com/Linux/2014-02/97068.htm

3.管道傳輸(降低IO開銷)

gzip -c sda.img | ssh root@192.168.1.110 "gunzip -c - > /image/sda.img"
#對sda.img使用gzip壓縮,-c參數列示輸出到stdout,即通過管道傳送
#gunzip -c - 中的"-"表示接收從管道傳進的sdtin

4.nc傳輸(一種網路的資料流重定向)

nc所做的就是在兩台電腦之間建立tcp或udp連結,並在兩個埠之間傳輸資料流,是一種網路的資料流重定向

#使用dd結合nc命令網路克隆磁碟分割區
主機:
dd if=/dev/vda | gzip -c | nc -l 50522
待恢復機:
nc 192.168.215.63 50522 | gzip -dc | dd of=/dev/sda

#dd命令克隆/dev/vda磁碟,並使用gzip壓縮,把資料流重定向到本機50522埠,待恢復機上使用nc連線主機50522埠,就能接收主機50522埠的位元資料流,然後使用gzip解壓縮,並恢復到/dev/sda磁碟

#dd命令讀取的是磁碟磁區,所以不論磁碟檔案系統,或者分割區表,磁碟MBR資訊,dd都能夠複製,可以使用bs,count引數控制要克隆的大小
#例如dd bs=512 count=1 if=/dev/vda of=mbr.img 只複製磁碟vda的第一個磁區512K位元組資料(載入程式和分割區表)

5.建立檔案伺服器

除了上面集中傳輸檔案的方式之外,還可以通過簡歷檔案伺服器,然後通過網路掛載的方式傳輸,這種適用於經常性的拷貝,下面是一個掛載ftp伺服器的例子

掛載ftp伺服器
yum install curlftpfs
mkdir /data/ftp
curlftpfs username:password@ftp.yourdomain.com /data/ftp

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-05/117028.htm


IT145.com E-mail:sddin#qq.com