rsync是可以實現增量備份的工具。配合任務計劃,rsync能實現定時或間隔同步,配合inotify或sersync,可以實現觸發式的實時同步,下面為大家分享一下rsync具體使用方法。
rsync特征
速度:第一次的rsync同步源的整個內容目錄到目標位置。之后,rsync只傳遞改變的塊或字節到目標位置,使傳輸非???。
安全:rsync在傳輸中允許使用ssh協議加密數據。
更少的帶寬:rsync分別在發送和接收端對數據進行壓縮和解壓縮。所以在使用rsync傳輸數據時使用的帶寬總是比使用其他文件傳輸協議來的少。
特權:不需要特殊權限來安裝和執行rsync
rsync語法
$rsyncoptionssourcedestination
source和destination可以是本地或遠程。在遠程的情況下,需要指定登錄名、遠程服務器的名稱和位置。
rsync使用示例
1. 在本地服務器上同步兩個目錄
用rsync – zvr在本地服務器上同步兩個目錄
$rsync-zvr/var/opt/installation/inventory//root/tempbuildingfilelist...donesva.xmlsvB.xml.sent26385bytesreceived1098bytes54966.00bytes/sectotalsizeis44867speedupis1.63
在上面rsync例子中:
• –z:允許壓縮
• –v:冗長
• –r:遞歸
注:Rsync不會同步源文件或目錄的時間戳
$ls-l/var/opt/installation/inventory/sva.xml/root/temp/sva.xml-r--r--r--1binbin949Jun182009/var/opt/installation/inventory/sva.xml-r--r--r--1rootbin949Sep22009/root/temp/sva.xml
2. 用rsync –a同步時間戳
rsync的-a選項是archive的意思,加了之后有以下作用:
• 遞歸模式
• 同步軟鏈接
• 同步權限
• 同步時間戳
• 同步屬主和屬組
現在,我們執行與例1一樣的命令,不同的是使用-a選項。
$rsync-azv/var/opt/installation/inventory//root/temp/buildingfilelist...done./sva.xmlsvB.xml.sent26499bytesreceived1104bytes55206.00bytes/sectotalsizeis44867speedupis1.63
我們可以看到,rsync將源目錄下文件的時間戳也同步過來了。
$ls-l/var/opt/installation/inventory/sva.xml/root/temp/sva.xml-r--r--r--1rootbin949Jun182009/var/opt/installation/inventory/sva.xml-r--r--r--1rootbin949Jun182009/root/temp/sva.xml
3. 只同步一個文件
指定文件名稱,只同步一個文件
$rsync-v/var/lib/rpm/Pubkeys/root/temp/Pubkeyssent42bytesreceived12380bytes3549.14bytes/sectotalsizeis12288speedupis0.99
4. 將本地文件同步到遠程服務器
當同步到遠程服務器時,我們需要指定用戶名、遠程服務器的IP地址和目標路徑。格式為:username@remote_server_ip:path
$rsync-avz/root/temp/linuxprobe@192.168.200.10:/home/linuxprobe/temp/Password:buildingfilelist...done./rpm/rpm/Basenamesrpm/Conflictnamesent15810261bytesreceived412bytes2432411.23bytes/sectotalsizeis45305958speedupis2.87
5. 將遠程文件同步到本地服務器
$rsync-avzlinuxprobe@192.168.200.10:/var/lib/rpm/root/tempPassword:receivingfilelist...donerpm/rpm/Basenames.sent406bytesreceived15810230bytes2432405.54bytes/sectotalsizeis45305958speedupis2.87
6. 指定使用某一shell同步
遠程同步時,Rsync可以指定使用某一shell進行安全傳輸。如:使用rsync –e ssh選擇ssh進行安全連接。
$rsync-avz-esshlinuxprobe@192.168.200.10:/var/lib/rpm/root/tempPassword:receivingfilelist...donerpm/rpm/Basenamessent406bytesreceived15810230bytes2432405.54bytes/sectotalsizeis45305958speedupis2.87
7. 不覆蓋目標位置已改變的文件
如果目標位置的文件已被修改,而我們不希望舊文件覆蓋它時,可以使用-u選項。下面例子中,目標位置的文件Basenames已經被修改,使用-u 選項是它不被舊文件覆蓋。
$ls-l/root/temp/Basenamestotal39088-rwxr-xr-x1rootroot4096Sep211:35Basenames$rsync-avzulinuxprobe@192.168.200.10:/var/lib/rpm/root/tempPassword:receivingfilelist...donerpm/sent122bytesreceived505bytes114.00bytes/sectotalsizeis45305958speedupis72258.31$ls-lrttotal39088-rwxr-xr-x1rootroot4096Sep211:35Basenames
8. 只同步目錄樹結構(不包括文件)
使用rsync – d選項只將目錄樹從源位置同步至目標位置。下面的示例中,以遞歸方式只同步目錄樹而不同步目錄中的文件。
$rsync-v-dlinuxprobe@192.168.200.10:/var/lib/.Password:receivingfilelist...donelogrotate.statusCAM/YaST2/acpi/sent240bytesreceived1830bytes318.46bytes/sectotalsizeis956speedupis0.46
9. 查看rsync進度
使用rsync –progress選項可以查看rsync進度,如多少文件已經被拷貝,完成率是多少等
$rsync-avz--progresslinuxprobe@192.168.200.10:/var/lib/rpm//root/temp/Password:receivingfilelist...19filestoconsider./Basenames5357568100%14.98MB/s0:00:00(xfer#1,to-check=17/19)Conflictname12288100%35.09kB/s0:00:00(xfer#2,to-check=16/19)...sent406bytesreceived15810211bytes2108082.27bytes/sectotalsizeis45305958speedupis2.87
10. 刪除目標位置創建的文件
若我們希望rsync時刪除在源位置不存在而在目標位置存在的文件,可以使用-delete選項。
此例中,我們在目標位置創建了一個新文件名為new-file.txt.,在同步過程中,-delete選項刪除了new-file.txt文件
#Sourceandtargetareinsync.Nowcreatingnewfileatthetarget.$>new-file.txt$rsync-avz--deletelinuxprobe@192.168.200.10:/var/lib/rpm/.Password:receivingfilelist...donedeletingnew-file.txt./sent26bytesreceived390bytes48.94bytes/sectotalsizeis45305958speedupis108908.55
11. 在目標位置不創建新文件
使用-existing選項使得在同步時只同步目標位置存在的文件,而不創建新文件。
#在源位置創建新文件new-file.txt[/var/lib/rpm]$>new-file.txt#同步目錄$rsync-avz--existingroot@192.168.1.2:/var/lib/rpm/.root@192.168.1.2'spassword:receivingfilelist...done./sent26bytesreceived419bytes46.84bytes/sectotalsizeis88551424speedupis198991.96
12.查看源和目標的不同文件或目錄
源位置:
$ls-l/var/lib/rpm-rw-r--r--1rootroot53575682010-06-2408:57Basenames-rw-r--r--1rootroot122882008-05-2822:03Conflictname-rw-r--r--1rootroot11796482010-06-2408:57Dirnames
目標位置:
$ls-l/root/temp-rw-r--r--1rootroot12288May282008Conflictname-rw-r--r--1binbin1179648Jun2405:27Dirnames-rw-r--r--1rootroot0Sep306:39Basenames
源和目標之間有兩個不同之處:1. 文件Dirnames屬主和屬組不同 2. 文件Basenames的大小不同
使用-i選項來顯示不同之處,如下所示
$rsync-avzilinuxprobe@192.168.200.10:/var/lib/rpm//root/temp/Password:receivingfilelist...done>f.st....Basenames.f....og.Dirnamessent48bytesreceived2182544bytes291012.27bytes/sectotalsizeis45305958speedupis20.76Intheoutputitdisplayssome9lettersinfrontofthefilenameordirectorynameindicatingthechanges.
可以看到,在文件名或目錄名前有9個字符來代表不同之處。此例中,Basenames和Dirnames前的字符代表含義如下:
>代表文件已被傳輸到本地主機。f:代表這是個文件s:代表文件大小發生變化t:代表時間戳發生變化o:屬主發生變化g:屬組發生變化
13. 在傳輸時指定包括或排除某些文件
只傳輸’P’開頭的文件或目錄(使用rsync include),不傳輸其他任何文件(使用rsync exclude)
$rsync-avz--include'P*'--exclude'*'linuxprobe@192.168.200.10:/var/lib/rpm//root/temp/Password:receivingfilelist...done./PackagesProvidenameProvideversionPubkeyssent129bytesreceived10286798bytes2285983.78bytes/sectotalsizeis32768000speedupis3.19
14. 不傳輸大文件
使用rsync –max-size選項后,rsync將不傳輸大于指定大小的文件
$rsync-avz--max-size='100K'linuxprobe@192.168.200.10:/var/lib/rpm//root/temp/Password:receivingfilelist...done./ConflictnameGroupInstalltidNameSha1headerSigmd5Triggernamesent252bytesreceived123081bytes18974.31bytes/sectotalsizeis45305958speedupis367.35
15. 傳輸整個文件
rsync的主要特征之一是它只傳輸改變的塊到目標位置,而不是傳輸整個文件。如果網絡帶寬對你不是問題(CPU有),您可以使用-w選項來傳輸整個文件。它會加速rsync過程,因為它不用在源和目標位置執行校驗和。
#rsync-avzWlinuxprobe@192.168.200.10:/var/lib/rpm//root/tempPassword:receivingfilelist...done./BasenamesConflictnameDirnamesFilemd5sGroupInstalltidNamesent406bytesreceived15810211bytes2874657.64bytes/sectotalsizeis45305958speedupis2.87
上述就是小編為大家分享的rsync具體使用方法是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注本站行業資訊頻道。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
股指配資是什么意思?股指配資是期貨市場中的一種金融合作形式,投資者和交易方委托財務管理。在合作之前,投資方和交易方需要簽署相關協議,如“?賬戶委托經營協議?“或”基金合作經營協議?“?確保雙方的權利和義務?簽署協議的最終目標是確保公平合理的資金合作。說白了一句話,就是給資金加大杠桿,比如1萬的資金可以操盤5萬的賬戶。獲得的利潤也是5萬資金所產生的。股...
阿里寶卡是什么?阿里寶卡是中國聯通和阿里聯合推出的一種手機卡。從2017年11月24日開始,中國聯通正式接受阿里寶卡的在線開戶申請,免流范圍主要是手機淘寶、手機天貓以及優酷視頻App。阿里寶卡有什么用?1、 享受專屬的語音套餐和流量套餐,用戶瀏覽淘寶、支付寶、天貓、咸魚、飛豬、聚劃算等軟件是免流量的。2、撥打親情號免費:用戶在成功開通阿里寶卡之后,可免費添加5個親情號碼,添加成功后國內撥打親情號免...
越南盾和人民幣的換算是多少?(2023年6月8日)今日越南盾對人民幣的匯率為:0.0003今日人民幣對越南盾的匯率為:3287.09487根據今日匯率:1越南盾、2越南盾、5越南盾、10越南盾、20越南盾、50越南盾、100越南盾,分別折合人民幣0.0003、0.0006、0.0015、0.003、0.006、0.015、0.03人民幣。2023年6月8日英鎊人民幣中間價8.8668,瑞士法郎人民...