< 返回新聞公共列表

如何使用rsync在linux服務器之間傳輸文件?

發(fā)布時間:2022-12-09 14:50:54

無論我們是需要在本地復制文件還是將它們傳輸?shù)竭h程服務器,可以使用rsync(一種文件同步實用程序)來實現(xiàn)。下面,小編就給大家分析下如何使用rsync在linux服務器之間傳輸文件?


如何使用rsync在linux服務器之間傳輸文件?.png


一、獲取rsync

以下命令為 CentOS發(fā)行版安裝 rsync:sudo yum install rsync

對于Debian和Ubuntu:sudo apt-get install rsync

在本地復制文件

要將/source/的內(nèi)容復制到同一臺機器上的/destination/,請運行:rsync --archive --verbose --progress /source/ /destination/

通過使用--archive選項,我們遞歸地將/source/內(nèi)容復制到 /destination/目錄,包括符號鏈接、權限、修改時間、所有者、組和文件模式數(shù)據(jù)。--progress顯示傳輸過程中的進度,-- verbose增加冗長程度。

如果/destination/目錄不存在,將創(chuàng)建它。如果/destination/目錄已經(jīng)存在并且包含一些 /source/目錄不包含的文件,這些文件將被保留。


二、rsync使用一種算法,通過僅移動已更改的文件部分來最大限度地減少流量。

1、從遠程系統(tǒng)復制文件

使用rsync,我們可以依靠SSH進行遠程數(shù)據(jù)傳輸。在開始之前,請確保:

- rsync客戶端安裝在本地和遠程機器上;

-我們可以使用“ssh user@remotehost”命令與遠程機器建立SSH連接。

要從遠程服務器傳輸文件,請指定遠程源目錄的完整路徑,包括遠程主機上的用戶名,以及本地目錄的完整路徑:

rsync --archive --verbose --progress user@remotehost:/remote/source/ /local/destination/

在此示例中,我們將遠程主機上的/source/目錄的內(nèi)容復制到本地計算機上的/destination/目錄,其中執(zhí)行了rsync命令。根據(jù)我們linux服務器上配置的SSH身份驗證方法,在執(zhí)行rsync命令時可能會提示我們輸入SSH密碼或其他憑據(jù)。


2、將文件復制到遠程系統(tǒng)

要通過SSH將文件傳輸?shù)竭h程服務器,請指定本地源目錄的完整路徑和遠程目錄的完整路徑,包括遠程主機上的用戶名:

rsync--archive--verbose--progress/local/source/user@remotehost:/remote/destination/


3、尾部斜杠

當我們指定源目錄的路徑時,請注意目錄名稱末尾的尾部斜杠- /符號。結尾的斜杠表示“內(nèi)容”。例如,如果 /source/上有尾部斜線,rsync 會將/source/的內(nèi)容復制到/destination/。如果/source上沒有尾部斜杠,rsync 將在/destination/上創(chuàng)建一個同名目錄,并將/source/的所有內(nèi)容復制到/destination/source/。相反,/destination/上的尾部斜杠沒有任何區(qū)別。


4、rsync守護進程

如果我們需要通過專用網(wǎng)絡復制大量信息,請考慮設置rsync守護進程。守護進程的使用消除了SSH隧道的開銷,但數(shù)據(jù)未加密傳輸。


以上就是使用rsync在linux服務器之間傳輸文件相關步驟,希望能幫助大家參考!


/template/Home/Zkeys724/PC/Static