天天看點

雲伺服器 ECS 配置:雲伺服器ECS之間資料傳輸的實作方式

雲伺服器ecs之間資料傳輸的實作方式

簡介

在資訊化高速發展的今天,伺服器每天都會與其它單機交換大量檔案資料,檔案傳輸對大家來說是家常便飯。是以,其重要性就不言而喻了。檔案傳輸方式各有不同,選擇一款合适自己的檔案傳輸工具,在工作中能起到事半功倍的效果。節省資源、友善傳輸、提升工作效率、加密保護等等。是以,很多檔案傳輸工具應運而生,例如:nc、ftp、scp、nfs、samba、rsync/serversync等等,每種方式都有自己的特點。本文将首先簡單介紹一下檔案傳輸的基本原理,然後,詳細介紹類unix/linux、windows平台上常用檔案傳輸方式,并針對它們各自的特點進行比較,讓讀者對檔案傳輸方式有比較詳盡地了解,進而能夠根據不同的需要選擇合适的檔案傳輸方式。

檔案傳輸原理

檔案傳輸是資訊傳輸的一種形式,它是在資料源和資料宿之間傳送檔案資料的過程,也稱檔案資料通信。作業系統把檔案資料提取到記憶體中做暫存,再複制到目的地,加密就是在檔案外加了一個殼,檔案本身還是一個整體,複制隻是把這個整體轉移到其它地方,不需要解密,隻有打開壓縮包時才需解密。一個大檔案作為一個資料整體,是不可能瞬間從一台主機轉移到其它的主機,傳輸是一個持續的過程,但不是把檔案分割了,是以,如果在傳輸的過程中意外中斷,目标路徑中是不會有傳輸的檔案,另外,如果傳輸的是多個檔案,那麼,這些檔案是按順序分别傳輸,如果中間中斷,則正在傳輸的檔案會傳輸失敗,但是,之前已經傳完的檔案傳輸成功(如果傳輸的是檔案壓縮包,那麼,不管裡面有幾個檔案,它本身被視為一個檔案)。

通常我們看到的 nc、ftp、scp、nfs 等等,都是可以用來傳輸檔案資料的工具,下面我們将詳細介紹主要檔案傳輸工具的特點以及用法。

netcat

在網絡工具中有“瑞士軍刀”的美譽,它功能強大,作為網絡工具的同時,它傳輸檔案的能力也不容小觑。

常用參數:

雲伺服器 ECS 配置:雲伺服器ECS之間資料傳輸的實作方式

簡單用法舉例

1.端口掃描21-24(以ip192.168.2.34為例)。

nc: connect to 192.168.2.34 port 21 (tcp) failed: connection refused

connection to 192.168.2.34 22 port [tcp/ssh] succeeded!

nc: connect to 192.168.2.34 port 23 (tcp) failed: connection refused

nc: connect to 192.168.2.34 port 24 (tcp) failed: connection refused

2.從192.168.2.33拷貝檔案到192.168.2.34。

在192.168.2.34上:

在192.168.2.33上:

3.用nc指令操作memcached。

存儲資料:

擷取資料:

删除資料:

檢視狀态:

模拟top指令檢視狀态:

清空緩存:

scp(安全拷貝 secure copy)

介紹

scp 指令的用法和 rcp 指令格式非常類似,差別就是 scp 提供更安全保障,scp 在需要進行驗證時會要求你輸入密碼或密碼,一般推薦使用 scp 指令,因為它比 rcp 更安全。scp 指令使用 ssh 來傳輸資料,并使用與 ssh 相同的認證模式,提供同樣的安全保障,ssh 是目前較可靠得,為遠端登入會話和其他網絡服務提供安全性的協定,利用 ssh 協定可以有效防止遠端管理過程中的資訊洩露問題。scp 是基于 ssh 的應用,是以進行資料傳輸的機器上必須支援 ssh 服務。

特點

scp 類似于rcp, 它能夠保留一個特定檔案系統上的檔案屬性,能夠保留檔案屬性或者需要遞歸的拷貝子目錄。

scp它具備更好檔案傳輸保密性。與此同時,付出的代價就是檔案傳輸時需要輸入密碼而且涉及到 ssh 的一些配置問題,這些都影響其使用的友善性,對于有特定需求的使用者,是比較合适的傳輸工具。

常用示例

使用 scp 指令,需要輸入密碼,如果不想每次都輸入,可以通過配置 ssh,這樣在兩台機器間拷貝檔案時不需要每次都輸入使用者名和密碼:

生成 rsa 類型的密鑰:

雲伺服器 ECS 配置:雲伺服器ECS之間資料傳輸的實作方式

上述指令生成 rsa 類型的密鑰。在提示密鑰的儲存路徑和密碼時,可以直接回車使用預設路徑和空密碼。這樣,生成的公共密鑰儲存/.ssh/id_rsa.pub,私有密鑰儲存在 /.ssh/id_rsa 。然後把這個密鑰對中的公共密鑰的内容複制到要通路的機器上的 /.ssh/authorized_keys 檔案中。這樣,下次再通路那台機器時,就不用輸入密碼了。

scp可以在 2個 linux 主機間複制檔案

指令基本格式:

從本地複制到遠端(如下四種方式):

注:第1,2個指定了使用者名,指令執行後需要再輸入密碼,第1個僅指定了遠端的目錄,檔案名字不變,第2個指定了檔案名。

第3,4個沒有指定使用者名,指令執行後需要輸入使用者名和密碼,第3個僅指定了遠端的目錄,檔案名字不變,第4個指定了檔案名。

從遠端複制到本地:

注:從遠端複制到本地,隻要将從本地複制到遠端的指令的後2個參數 調換順序 即可

rsync

rsync是linux/unix檔案同步和傳送工具。用于替代rcp的一個工具,rsync可以通過rsh或ssh使用,也能以daemon模式去運作,在以daemon方式運作時rsync server會開一個873端口,等待用戶端去連接配接。連接配接時rsync server會檢查密碼是否相符,若通過密碼查核,則可以通過進行檔案傳輸,第一次連通完成時,會把整份檔案傳輸一次,以後則就隻需進行增量備份。

安裝方式:

注:可以使用每個發行版本自帶的安裝包管理器安裝。

源碼編譯安裝:

參數介紹:

雲伺服器 ECS 配置:雲伺服器ECS之間資料傳輸的實作方式

rsync六種不同的工作模式:

1.拷貝本地檔案,将/home/coremail目錄下的檔案拷貝到/cmbak目錄下。

2.拷貝本地機器的内容到遠端機器。

3.拷貝遠端機器的内容到本地機器。

4.拷貝遠端rsync伺服器(daemon形式運作rsync)的檔案到本地機。

5.拷貝本地機器檔案到遠端rsync伺服器(daemon形式運作rsync)中。當dst路徑資訊包含”::”分隔符時啟動該模式。

6.顯示遠端機的檔案清單。這類似于rsync傳輸,不過隻要在指令中省略掉本地機資訊即可。

rsync配置檔案說明:

<a href="https://help.aliyun.com/document_detail/51935.html?spm=5176.doc51371.6.754.9htp6l">原文連結</a>