Rsync數據同步工具應用指南
阿新 • • 發佈:2017-05-17
rsync 文件同步 1、Rsync數據同步工具應用指南
簡介
Rsync的特性:
Rsync的工作方式:
Rsync命令同步選項參數:
本地主機模式示例
遠程RPC模式示例
簡介
Rsync是一款開源的、快速的、多功能的、可實現全量及增量的本地或遠程數據同步備份的優秀工具。可使本地和遠程兩臺或多臺主機之間的數據快速復制同步鏡像、遠程備份的功能。這個功能類似ssh自帶的scp命令,但又優於scp命令的功能,scp每次都是全量拷貝,而rsync可以增量拷貝。當然,Rsync還可以在本地主機的不同分區或目錄之間全量及增量的復制數據,這又類似cp命令,但同樣也優於cp命令,cp每次都是全量拷貝,而rsync可以增量拷貝。一個rsync相當於scp、cp、rm,但是還優於他們每一個命令。 在同步備份數據時,默認情況下,Rsync通過其獨特的“quick check”算法,它僅同步大小或者最後修改時間發生變化的文件或者目錄,當然也可以根據權限的,屬主等屬性的變化來進行同步,但需要指定相應的參數,甚至可以實現只同步一個文件裏有變化的部分內容,所以,可以快速的實現數據的同步、備份。
Rsync的特性:
1.支持拷貝特殊文件如鏈接文件、設備等。 2.可以有排除指定文件或目錄同步的功能,相當於打包命令tar的排除功能。 3.可以做到保持原文件或目錄的權限、時間、軟硬鏈接、屬主、屬組等所有屬性均不改變-p。 4.可以實現增量同步,即只同步變化的數據,因此數據傳輸效率很高。 5.可以使用rcp、rsh、ssh等方式來配合傳輸文件(rsync本身不對數據加密)。 6.可以通過socket(進程方式)傳輸文件和數據(服務端和客戶端)。 7.支持匿名或認證的進程模式傳輸,可以實現方便安全的進行數據備份及鏡像。
Rsync的工作方式:
1.單個主機本地之間的數據傳輸(此時類似於CP命令的功能) 2.借助rcp,ssh等通道來傳輸數據(此時類似於Scp命令的功能) 3.以守護進程(socket)的方式傳輸數據(這是Rsync自身重要的功能)
Rsync命令同步選項參數:
語法格式: Local: rsync [OPTION...] SRC... [DEST] Access via remote shell: Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST] Push: rsync [OPTION...] SRC... [USER@]HOST:DEST Access via rsync daemon: Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST] rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST] Push: rsync [OPTION...] SRC... [USER@]HOST::DEST rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST 常用參數說明: -v,--verbose:詳細模式輸出,傳輸時的進度等信息。 -z,--compress:傳輸時進行壓縮以提高傳輸效率,--compress-level=NUM可按級別壓縮。 -a,--archive:歸檔模式,表示以遞歸方式傳輸文件,並保持所有文件屬性,等於-rtopgDl。 -r,--recursive:對子目錄以遞歸模式,即目錄下的所有目錄都同樣傳輸,註意是小寫r。 -t,--times:保持文件時間信息。 -o,--owner:保持文件屬主信息。 -p,--perms:保持文件權限。 -g,--group:保持文件屬組信息。 -P,--progress:顯示同步的過程及傳輸時的進度等信息。 -D,--devices:保持設備文件信息。 -l,--links:保留軟鏈接。 -e,--rsh=COMMAND:使用的信道協議,指定替代rsh的shell程序。例如:ssh。 --exclude=PATTERN:指定排除不需要傳輸的文件模式。 --exclude-from=file(文件名所在的目錄文件) --bwlimit=PATE(限速) limit socket I/O bandwidth。 生產參數:-avz或者-vzrtopg。####本地傳輸模式(local-only mode)
本地主機模式示例
[[email protected] ~]# rsync -avzP /etc/hosts /tmp/ #本地模式,將hosts文件同步至/tmp目錄 sending incremental file list hosts 158 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/1) sent 124 bytes received 31 bytes 310.00 bytes/sec total size is 158 speedup is 1.02
遠程RPC模式示例
推送 [[email protected] ~]# rsync -avzP -e ‘ssh -p 22‘ /etc/hosts [email protected]:/tmp #將本地的hosts文件同步到遠程主機的/tmp目錄下 [email protected] password: sending incremental file list hostssent 124 bytes received 31 bytes 44.29 bytes/sec total size is 158 speedup is 1.02 拉取 [[email protected] ~]# rsync -avzP -e ‘ssh -p 22‘ [email protected]:/tmp/hosts /root/ #將hosts文件從遠程主機拉取到本地root家目錄 [email protected] password: receiving incremental file list hosts 158 100% 154.30kB/s 0:00:00 (xfer#1, to-check=0/1) sent 30 bytes received 129 bytes 45.43 bytes/sec total size is 158 speedup is 0.99
本文出自 “Char” 博客,請務必保留此出處http://charcce.blog.51cto.com/4255555/1926332
Rsync數據同步工具應用指南