歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux主機之間傳輸文件的幾種方法對比

Linux主機之間傳輸文件的幾種方法對比

日期:2017/2/28 14:01:51   编辑:Linux教程

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 [email protected]:/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 [email protected] "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:[email protected] /data/ftp

Copyright © Linux教程網 All Rights Reserved