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之間傳輸檔案無需密碼
Linux之cp/scp命令+scp命令詳解
CentOS 不能使用scp命令 解決方案
兩台Linux主機之間scp複製檔案
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實現檔案備份同步詳解
Rsync同步兩台伺服器
CentOS 6.5下Rsync遠程同步
Ubuntu Linux下用Rsync進行資料備份和同步配製
Linux使用Rsync用戶端與服務端同步目錄進行備份
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
本文永久更新連結地址: