linux遠程拷數據

簡單說明

遠程拷數據在工作中是經常使用到的場景,其中有的傳輸是校驗數據的有的傳輸不校驗數據,不校驗數據的雖然速度快很多,但是容易出錯,特別是在拷貝上T的大文件時就經常數據不一致,所以一般在做數據的過程中使用校驗數據的方式比較靠譜;

工具介紹

1、scp

scp是校驗數據的傳輸格式,如果沒有信任關係就需要用戶名密碼,常見的幾個用法

本地傳到遠程
scp user@pass  /etc/lilo.conf   [email protected]:/home/k

遠程傳到本地

scp user@pass [email protected]:/etc/lilo.conf  ./


常用參數:

-r 拷貝目錄

-l 限速

-C 強行壓縮

-B 選擇批處理模式(防止輸入密碼)

-q 把進度參數關掉


2、rsync

rsync拷貝文件只是他的一個小應用,rsync功能 遠不止於此,比如有這樣一個需求,本地mysql會實時產生二進制文件,但是我還有若干服務器需要分析mysql的二進制文件,這可以用rsync來做實時更新,可以節約大量帶寬;可以使用ssh方式來傳輸文件,這樣其保密性也非常好,中間也會做文件校驗,不容易出錯,可以配置允許哪些IP可以訪問,哪些IP不可以訪問hosts allow = 192.168.100.90 #哪些電腦可以訪問rsync服務,hosts deny = 192.168.100.0/24 #哪些電腦不可以訪問rsync服務,rsync也可以指定配置文件,如果信任關係需要使用密碼纔可以使用;

常見參數

v詳細提示
a以archive模式操作,複製目錄、符號連接
z壓縮
u只進行更新,防止本地新文件被重寫,注意兩者機器的時鐘的同時  

--bwlimit限速傳輸


a. 拷貝本地文件;當SRC和DES路徑信息都不包含有單個冒號":"分隔符時就啓動這種工作模式。b使用一個遠程shell程序(如rsh、ssh)來實現將本地機器的內容拷貝到遠程機器。當DST

路徑地址包含單個冒號":"分隔符時啓動該模式。


3、NetCat簡稱nc

從server1拷貝文件到server2上。需要先在server2上,用nc激活監聽,server2上運行:

 nc -l -p 8181 |tar xvf -

tar 是在傳輸過程打包

在server 1上運行

tar cvf - dir| nc -w 1 server2IP 1234 

上面的方式就是將dir打包從server1傳到server 2


常見參數

-i secs 延時的間隔
-l 監聽模式,用於入站連接
-n 指定數字的IP地址,不能用hostname
-o file 記錄16進制的傳輸
-p port 本地端口號
-r 任意指定本地及遠程端口
-s addr 本地源地址
-u UDP模式
-v 詳細輸出——用兩個-v可得到更詳細的內容
-w secs timeout的時間


4 wget

這個工具在傳輸大文件是基本不用,因爲wget在傳輸過程中不校驗數據,速度雖然相當給力但是數據容易出錯,傳輸小文件的出錯概略比較小,但是傳輸大文件出錯概略比較大,在做數據的過程不建議用wget;


參考文獻

http://www.ha97.com/4169.html

http://blog.csdn.net/jackdai/article/details/460460

http://www.huanxiangwu.com/477/linux-nc-netcat


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章