無論我們是需要在本地復制文件還是將它們傳輸?shù)竭h程服務器,可以使用rsync(一種文件同步實用程序)來實現(xiàn)。下面,小編就給大家分析下如何使用rsync在linux服務器之間傳輸文件?
一、獲取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服務器之間傳輸文件相關步驟,希望能幫助大家參考!
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號 IDC證:B1-20230800.移動站