關于云服務器ECS之間數據傳輸的實現方式

本文在介紹關于云服務器ecs之間數據傳輸的實現方式的基礎上,重點探討了其具體步驟,本文內容很緊湊,希望大家耐心學習。

云服務器ECS之間數據傳輸的實現方式

簡介

在信息化高速發展的今天,服務器每天都會與其它單機交換大量文件數據,文件傳輸對大家來說是家常便飯。因此,其重要性就不言而喻了。文件傳輸方式各有不同,選擇一款合適自己的文件傳輸工具,在工作中能起到事半功倍的效果。節省資源、方便傳輸、提升工作效率、加密保護等等。因此,很多文件傳輸工具應運而生,例如:NC、FTP、SCP、NFS、SAMBA、RSYNC/SERVERSYNC等等,每種方式都有自己的特點。本文將首先簡單介紹一下文件傳輸的基本原理,然后,詳細介紹類unix/linux、windows平臺上常用文件傳輸方式,并針對它們各自的特點進行比較,讓讀者對文件傳輸方式有比較詳盡地了解,從而能夠根據不同的需要選擇合適的文件傳輸方式。

文件傳輸原理

文件傳輸是信息傳輸的一種形式,它是在數據源和數據宿之間傳送文件數據的過程,也稱文件數據通信。操作系統把文件數據提取到內存中做暫存,再復制到目的地,加密就是在文件外加了一個殼,文件本身還是一個整體,復制只是把這個整體轉移到其它地方,不需要解密,只有打開壓縮包時才需解密。一個大文件作為一個數據整體,是不可能瞬間從一臺主機轉移到其它的主機,傳輸是一個持續的過程,但不是把文件分割了,因此,如果在傳輸的過程中意外中斷,目標路徑中是不會有傳輸的文件,另外,如果傳輸的是多個文件,那么,這些文件是按順序分別傳輸,如果中間中斷,則正在傳輸的文件會傳輸失敗,但是,之前已經傳完的文件傳輸成功(如果傳輸的是文件壓縮包,那么,不管里面有幾個文件,它本身被視為一個文件)。

通常我們看到的 NC、FTP、SCP、NFS 等等,都是可以用來傳輸文件數據的工具,下面我們將詳細介紹主要文件傳輸工具的特點以及用法。

NETCAT

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

常用參數:

關于云服務器ECS之間數據傳輸的實現方式

簡單用法舉例

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

nc?-v?-w?2?192.168.2.34?-z?21-24 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上:

nc?-l?1234?>?test.txt

在192.168.2.33上:

nc?192.168.2.34?<p>3.用nc命令操作memcached。</p><p>存儲數據:</p><pre class="brush:js;toolbar:false">printf?“set?key?0?10?6rnresultrn”?|nc?192.168.2.34?11211

獲取數據:

printf?“get?keyrn”?|nc?192.168.2.34?11211

刪除數據:

printf?“delete?keyrn”?|nc?192.168.2.34?11211

查看狀態:

printf?“statsrn”?|nc?192.168.2.34?11211

模擬top命令查看狀態:

watch?“echo?stats”?|nc?192.168.2.34?11211

清空緩存:

printf?“flush_allrn”?|nc?192.168.2.34?11211???????#謹慎操作,清空了緩存就沒了

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之間數據傳輸的實現方式

上述命令生成 RSA 類型的密鑰。在提示密鑰的保存路徑和密碼時,可以直接回車使用默認路徑和空密碼。這樣,生成的公共密鑰保存/.ssh/id_rsa.pub,私有密鑰保存在 /.ssh/id_rsa 。然后把這個密鑰對中的公共密鑰的內容復制到要訪問的機器上的 /.ssh/authorized_keys 文件中。這樣,下次再訪問那臺機器時,就不用輸入密碼了。

scp可以在 2個 linux 主機間復制文件

命令基本格式:

scp [可選參數] file_source file_target

從本地復制到遠程(如下四種方式):

scp?local_file?remote_username@remote_ip:remote_folder scp?local_file?remote_username@remote_ip:remote_file scp?local_file?remote_ip:remote_folder scp?local_file?remote_ip:remote_file

注:第1,2個指定了用戶名,命令執行后需要再輸入密碼,第1個僅指定了遠程的目錄,文件名字不變,第2個指定了文件名。

第3,4個沒有指定用戶名,命令執行后需要輸入用戶名和密碼,第3個僅指定了遠程的目錄,文件名字不變,第4個指定了文件名。

從遠程復制到本地:

注:從遠程復制到本地,只要將從本地復制到遠程的命令的后2個參數 調換順序 即可

scp?root@www.cumt.edu.cn:/home/root/others/music?/home/space/music/i.mp3 scp?-r?www.cumt.edu.cn:/home/root/others/?/home/space/music/ Rsync

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

安裝方式:

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

sudo?apt-get??install??rsync??????#在debian、ubuntu?等在線安裝方法; slackpkg??install??rsync??????????#Slackware?軟件包在線安裝; yum?install?rsync?????????????????#Fedora、Redhat?等系統安裝方法;

源碼編譯安裝:

wget?http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz tar?xf?rsync-3.0.9.tar.gz cd?rsync-3.0.9 ./configure?&amp;&amp;?make?&amp;&amp;?make?install

參數介紹:

關于云服務器ECS之間數據傳輸的實現方式

rsync六種不同的工作模式:

1.拷貝本地文件,將/home/coremail目錄下的文件拷貝到/cmbak目錄下。

rsync?-avSH?/home/coremail/?/cmbak/

2.拷貝本地機器的內容到遠程機器。

rsync?-av?/home/coremail/?192.168.11.12:/home/coremail/

3.拷貝遠程機器的內容到本地機器。

rsync?-av?192.168.11.11:/home/coremail/?/home/coremail/

4.拷貝遠程rsync服務器(daemon形式運行rsync)的文件到本地機。

rsync?-av?root@172.16.78.192::www?/databack

5.拷貝本地機器文件到遠程rsync服務器(daemon形式運行rsync)中。當DST路徑信息包含”::”分隔符時啟動該模式。

rsync?-av?/databack?root@172.16.78.192::www

6.顯示遠程機的文件列表。這類似于rsync傳輸,不過只要在命令中省略掉本地機信息即可。

rsync?-v?rsync://192.168.11.11/data

rsync配置文件說明:

cat/etc/rsyncd.conf??????????????#內容如下 port?=?873???????????????????????#端口號 uid?=?nobody?????????????????????#指定當模塊傳輸文件的守護進程UID gid?=?nobody?????????????????????#指定當模塊傳輸文件的守護進程GID use?chroot?=?no??????????????????#使用chroot到文件系統中的目錄中 max?connections?=?10?????????????#最大并發連接數 strict?modes?=?yes???????????????#指定是否檢查口令文件的權限 pid?file?=?/usr/local/rsyncd/rsyncd.pid???????#指定PID文件 lock?file?=?/usr/local/rsyncd/rsyncd.lock?????#指定支持max?connection的鎖文件,默認為/var/run/rsyncd.lock motd?file?=?/usr/local/rsyncd/rsyncd.motd?????#定義服務器信息的,自己寫?rsyncd.motd?文件內容 log?file?=?/usr/local/rsyncd/rsync.log????????#rsync?服務器的日志 log?format?=?%t?%a?%m?%f?%b syslog?facility?=?local3 timeout?=?300 [conf]???????????????????????????????????#自定義模塊 path?=?/usr/local/nginx/conf?????????????#用來指定要備份的目錄 comment?=?Nginx?conf ignore?errors????????????????????????????#可以忽略一些IO錯誤 read?only?=?no???????????????????????????#設置no,客戶端可以上傳文件,yes是只讀 write?only?=?no??????????????????????????#no為客戶端可以下載,yes不能下載 hosts?allow?=?192.168.2.0/24?????????????#可以連接的IP hosts?deny?=?*???????????????????????????#禁止連接的IP list?=?false?????????????????????????????#客戶請求時,使用模塊列表 uid?=?root gid?=?root auth?users?=?backup??????????????????????#連接用戶名,和linux系統用戶名無關系 secrets?file?=?/etc/rsyncd.pass??????????#驗證密碼文件

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享