服務器之間如何傳輸數據

有時候大家需要將一臺服務器內的數據傳輸到另外一臺設備,有很多種方法,如果兩臺物理機離得很近,可以通過移動硬盤傳輸。如果是跨地區的,有人首先通過filezilla將數據下載到windows電腦上,在通過filezilla上傳到另外一臺服務器,這樣做都可以,不過這顯然不符合我們一貫追求效率的原則,如果在是在服務器設備間傳輸數據,其實是可以直接傳輸的,小編在這裏給大家一種實用的方法,比較好用的是scp與rsync命令。這次內容首先來介紹scp。

準備工作
在兩臺服務器設備間傳輸數據,首先保證兩臺設備都是聯網的,至少有一臺能連外網,得到兩臺設備的IP地址,這裏注意,如果是192.168.1.XXX,這是內網IP,只能通過這臺設備上傳和下載。另外就是兩臺服務器的賬號密碼。這樣就可以了。
假設一臺設備IP爲:123.tongyuangene.com
另一臺設備IP爲:1t.tongyuangene.com
要傳輸文件爲/ifs1/Database/nt_makeblastdb/nt 這個文件。

scp命令
scp是secure copy的簡寫,用於在Linux下進行遠程拷貝文件的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨服務器,而且scp傳輸是加密的。scp可以通過ssh傳輸也可以通過ftp傳輸。上面的那個例子可以這樣來操作:

乾貨:服務器之間如何傳輸數據—scp
scp的語法其實很簡單,主要注意裏面的“@”與“:”。

第一部分:scp -r :如果傳輸是文件夾需要加-r,傳輸單個文件可以不加;
第二部分:要上傳的文件或者文件夾;
第三部分:另一臺設備的用戶名和IP地址,用@符號連接;
第四部分:冒號“:”,另一臺設別上存儲文件的路徑。
等待驗證,第一次會問是否繼續連接,輸入yes即可。然後輸入密碼即可開始上傳數據。

數據下載也是同樣的步驟,只需要將路徑替換一下順序即可。

注意最後面的傳輸到本地的路徑,一個點,表示數據存儲在當前目錄下。

SCP的選項參數

scp的選項參數不多,主要使用的就是-r。
-1:強制scp命令使用協議ssh1
-2:強制scp命令使用協議ssh2
-4:強制scp命令只使用IPv4尋址
-6:強制scp命令只使用IPv6尋址
-B:使用批處理模式(傳輸過程中不詢問傳輸口令或短語)
-C:允許壓縮。(將-C標誌傳遞給ssh,從而打開壓縮功能)
-p:保留原文件的修改時間,訪問時間和訪問權限。
-q:不顯示傳輸進度條。
-r:遞歸複製整個目錄。
-v:詳細方式顯示輸出。
-c cipher:以cipher將數據傳輸進行加密,這個選項將直接傳遞給ssh。
-F ssh_config:指定一個替代的ssh配置文件,此參數直接傳遞給ssh。
-i identity_file:從指定文件中讀取傳輸時使用的密鑰文件,此參數直接傳遞給ssh。
-l limit:限定用戶所能使用的帶寬,以Kbit/s爲單位。
-o ssh_option:如果習慣於使用ssh_config(5)中的參數傳遞方式,
-P port:注意是大寫的P, port是指定數據傳輸用到的端口號
-S program:指定加密傳輸時所使用的程序。

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