Linux系统下的数据镜像备份工具——Rsync
生活随笔
收集整理的這篇文章主要介紹了
Linux系统下的数据镜像备份工具——Rsync
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
rsync是類unix系統下的數據鏡像備份工具,從軟件的命名上就可以看出來了——remote?sync.它的特性如下:
可以鏡像保存整個目錄樹和文件系統。
可以很容易做到保持原來文件的權限、時間、軟硬鏈接等等。
無須特殊權限即可安裝。
快速:第一次同步時?rsync?會復制全部內容,但在下一次只傳輸修改過的文件。rsync?在傳輸數據的過程中可以實行壓縮及解壓縮操作,因此可以使用更少的帶寬。
安全:可以使用scp、ssh等方式來傳輸文件,當然也可以通過直接的socket連接。
支持匿名傳輸,以方便進行網站鏡象。?
Rsync的命令格式可以為以下六種:?rsync?[OPTION]...?SRC?DEST?rsync?[OPTION]...?SRC?[USER@]HOST:DEST?rsync?[OPTION]...?[USER@]HOST:SRC?DEST?rsync?[OPTION]...?[USER@]HOST::SRC?DEST?rsync?[OPTION]...?SRC?[USER@]HOST::DEST?rsync?[OPTION]...?rsync://[USER@]HOST[:PORT]/SRC?[DEST]?對應于以上六種命令格式,rsync有六種不同的工作模式:?1)拷貝本地文件。當SRC和DES路徑信息都不包含有單個冒號":"分隔符時就啟動這種工作模式。如:rsync?-a?/data?/backup?2)使用一個遠程shell程序(如rsh、ssh)來實現將本地機器的內容拷貝到遠程機器。當DST路徑地址包含單個冒號":"分隔符時啟動該模式。如:rsync?-avz?*.c?foo:src?3)使用一個遠程shell程序(如rsh、ssh)來實現將遠程機器的內容拷貝到本地機器。當SRC地址路徑包含單個冒號":"分隔符時啟動該模式。如:rsync?-avz?foo:src/bar?/data?4)從遠程rsync服務器中拷貝文件到本地機。當SRC路徑信息包含"::"分隔符時啟動該模式。如:rsync?-av?root@172.16.78.192::www?/databack?5)從本地機器拷貝文件到遠程rsync服務器中。當DST路徑信息包含"::"分隔符時啟動該模式。如:rsync?-av?/databack?root@172.16.78.192::www?6)列遠程機的文件列表。這類似于rsync傳輸,不過只要在命令中省略掉本地機信息即
可。如:rsync?-v?rsync://172.16.78.192/www?rsync參數的具體解釋如下:?
-v,?--verbose?詳細模式輸出?
-q,?--quiet?精簡輸出模式?
-c,?--checksum?打開校驗開關,強制對文件傳輸進行校驗?
-a,?--archive?歸檔模式,表示以遞歸方式傳輸文件,并保持所有文件屬性,等于-rlptgoD?
-r,?--recursive?對子目錄以遞歸模式處理?
-R,?--relative?使用相對路徑信息?
-b,?--backup?創建備份,也就是對于目的已經存在有同樣的文件名時,將老的文件重新命名為~filename。可以使用--suffix選項來指定不同的備份文件前綴。?
--backup-dir?將備份文件(如~filename)存放在在目錄下。?
-suffix=SUFFIX?定義備份文件前綴?
-u,?--update?僅僅進行更新,也就是跳過所有已經存在于DST,并且文件時間晚于要備份的文件。(不覆蓋更新的文件)?
-l,?--links?保留軟鏈結?
-L,?--copy-links?想對待常規文件一樣處理軟鏈結?
--copy-unsafe-links?僅僅拷貝指向SRC路徑目錄樹以外的鏈結?
--safe-links?忽略指向SRC路徑目錄樹以外的鏈結?
-H,?--hard-links?保留硬鏈結?
-p,?--perms?保持文件權限?
-o,?--owner?保持文件屬主信息?
-g,?--group?保持文件屬組信息?
-D,?--devices?保持設備文件信息?
-t,?--times?保持文件時間信息?
-S,?--sparse?對稀疏文件進行特殊處理以節省DST的空間?
-n,?--dry-run現實哪些文件將被傳輸?
-W,?--whole-file?拷貝文件,不進行增量檢測?
-x,?--one-file-system?不要跨越文件系統邊界?
-B,?--block-size=SIZE?檢驗算法使用的塊尺寸,默認是700字節?
-e,?--rsh=COMMAND?指定使用rsh、ssh方式進行數據同步?
--rsync-path=PATH?指定遠程服務器上的rsync命令所在路徑信息?
-C,?--cvs-exclude?使用和CVS一樣的方法自動忽略文件,用來排除那些不希望傳輸的文件?
--existing?僅僅更新那些已經存在于DST的文件,而不備份那些新創建的文件?
--delete?刪除那些DST中SRC沒有的文件?
--delete-excluded?同樣刪除接收端那些被該選項指定排除的文件?
--delete-after?傳輸結束以后再刪除?
--ignore-errors?及時出現IO錯誤也進行刪除?
--max-delete=NUM?最多刪除NUM個文件?
--partial?保留那些因故沒有完全傳輸的文件,以是加快隨后的再次傳輸?
--force?強制刪除目錄,即使不為空?
--numeric-ids?不將數字的用戶和組ID匹配為用戶名和組名?
--timeout=TIME?IP超時時間,單位為秒?
-I,?--ignore-times?不跳過那些有同樣的時間和長度的文件?
--size-only?當決定是否要備份文件時,僅僅察看文件大小而不考慮文件時間?
--modify-window=NUM?決定文件是否時間相同時使用的時間戳窗口,默認為0?
-T?--temp-dir=DIR?在DIR中創建臨時文件?
--compare-dest=DIR?同樣比較DIR中的文件來決定是否需要備份?
-P?等同于?--partial?
--progress?顯示備份過程?
-z,?--compress?對備份的文件在傳輸時進行壓縮處理?
--exclude=PATTERN?指定排除不需要傳輸的文件模式?
--include=PATTERN?指定不排除而需要傳輸的文件模式?
--exclude-from=FILE?排除FILE中指定模式的文件?
--include-from=FILE?不排除FILE指定模式匹配的文件?
--version?打印版本信息?
--address?綁定到特定的地址?
--config=FILE?指定其他的配置文件,不使用默認的rsyncd.conf文件?
--port=PORT?指定其他的rsync服務端口?
--blocking-io?對遠程shell使用阻塞IO?
-stats?給出某些文件的傳輸狀態?
--progress?在傳輸時現實傳輸過程?
--log-format=formAT?指定日志文件格式?
--password-file=FILE?從FILE中得到密碼?
--bwlimit=KBPS?限制I/O帶寬,KBytes?per?second?
-h,?--help?顯示幫助信息
轉載于:https://blog.51cto.com/whluwit/1432168
總結
以上是生活随笔為你收集整理的Linux系统下的数据镜像备份工具——Rsync的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机房收费系统重构(三)—工厂+反射+DA
- 下一篇: RedHat Enterprise Li