無論我們是需要在本地復(fù)制文件還是將它們傳輸?shù)竭h(yuǎn)程服務(wù)器,可以使用rsync(一種文件同步實(shí)用程序)來實(shí)現(xiàn)。下面,小編就給大家分析下如何使用rsync在linux服務(wù)器之間傳輸文件?
一、獲取rsync
以下命令為 CentOS發(fā)行版安裝 rsync:sudo yum install rsync
對于Debian和Ubuntu:sudo apt-get install rsync
在本地復(fù)制文件
要將/source/的內(nèi)容復(fù)制到同一臺機(jī)器上的/destination/,請運(yùn)行:rsync --archive --verbose --progress /source/ /destination/
通過使用--archive選項(xiàng),我們遞歸地將/source/內(nèi)容復(fù)制到 /destination/目錄,包括符號鏈接、權(quán)限、修改時(shí)間、所有者、組和文件模式數(shù)據(jù)。--progress顯示傳輸過程中的進(jìn)度,-- verbose增加冗長程度。
如果/destination/目錄不存在,將創(chuàng)建它。如果/destination/目錄已經(jīng)存在并且包含一些 /source/目錄不包含的文件,這些文件將被保留。
二、rsync使用一種算法,通過僅移動(dòng)已更改的文件部分來最大限度地減少流量。
1、從遠(yuǎn)程系統(tǒng)復(fù)制文件
使用rsync,我們可以依靠SSH進(jìn)行遠(yuǎn)程數(shù)據(jù)傳輸。在開始之前,請確保:
- rsync客戶端安裝在本地和遠(yuǎn)程機(jī)器上;
-我們可以使用“ssh user@remotehost”命令與遠(yuǎn)程機(jī)器建立SSH連接。
要從遠(yuǎn)程服務(wù)器傳輸文件,請指定遠(yuǎn)程源目錄的完整路徑,包括遠(yuǎn)程主機(jī)上的用戶名,以及本地目錄的完整路徑:
rsync --archive --verbose --progress user@remotehost:/remote/source/ /local/destination/
在此示例中,我們將遠(yuǎn)程主機(jī)上的/source/目錄的內(nèi)容復(fù)制到本地計(jì)算機(jī)上的/destination/目錄,其中執(zhí)行了rsync命令。根據(jù)我們linux服務(wù)器上配置的SSH身份驗(yàn)證方法,在執(zhí)行rsync命令時(shí)可能會提示我們輸入SSH密碼或其他憑據(jù)。
2、將文件復(fù)制到遠(yuǎn)程系統(tǒng)
要通過SSH將文件傳輸?shù)竭h(yuǎn)程服務(wù)器,請指定本地源目錄的完整路徑和遠(yuǎn)程目錄的完整路徑,包括遠(yuǎn)程主機(jī)上的用戶名:
rsync--archive--verbose--progress/local/source/user@remotehost:/remote/destination/
3、尾部斜杠
當(dāng)我們指定源目錄的路徑時(shí),請注意目錄名稱末尾的尾部斜杠- /符號。結(jié)尾的斜杠表示“內(nèi)容”。例如,如果 /source/上有尾部斜線,rsync 會將/source/的內(nèi)容復(fù)制到/destination/。如果/source上沒有尾部斜杠,rsync 將在/destination/上創(chuàng)建一個(gè)同名目錄,并將/source/的所有內(nèi)容復(fù)制到/destination/source/。相反,/destination/上的尾部斜杠沒有任何區(qū)別。
4、rsync守護(hù)進(jìn)程
如果我們需要通過專用網(wǎng)絡(luò)復(fù)制大量信息,請考慮設(shè)置rsync守護(hù)進(jìn)程。守護(hù)進(jìn)程的使用消除了SSH隧道的開銷,但數(shù)據(jù)未加密傳輸。
以上就是使用rsync在linux服務(wù)器之間傳輸文件相關(guān)步驟,希望能幫助大家參考!
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號 IDC證:B1-20230800.移動(dòng)站