rsync 遠端資料同步工具使用

2021-04-18 14:43:43 字數 4463 閱讀 8221

rsync linux 安裝

emerge -pv rsync

rsync是乙個遠端資料同步工具,可通過lan/wan快速同步多台主機間的檔案。rsync本來是用以取代rcp的乙個工具,它當前由 rsync.samba.org維護。

1。伺服器安裝

一般系統自動安裝好,把它加入自動啟動。

#rc-update add rsyncd default #/etc/init.d/rsyncd start

配置檔案:/etc/rsyncd.conf

use chroot = yes 

read only = yes

#客戶端最大連線數

max connections = 4

#pid及lock檔案位置

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

#日誌檔案

log file = /data/logs/rsync/rsync.log

#允許進行rsync的客戶端網段或ip

hosts allow = 192.168.0.0/24

#設定可以映象的目錄及相關

#認證的模組名,在client端需要指定

[test]

path = /data/test

read only = yes

comment = test dir

#可映象此目錄的使用者名稱,當用多個使用者時,可用,號進行分開

auth user = zyh_rsync

#宣告密碼檔案

secrets file = /data/logs/rsync/rsync.pas

#建立密碼檔案

nano -w /data/logs/rsync/rsync.pass

#檔案格式為  使用者名稱:密碼

zyh_rsync:123456

#更改密碼檔案的許可權

chmod 600 /data/logs/rsync/rsync.pass

2.客戶端使用:

a.linux客戶端:

#編輯密碼檔案

nano -w /etc/rsync.pas

123456        #注意該檔案只有密碼部份

#更改檔案許可權

chmod 600 / etc/rsync.pas

#執行同步目錄rsync -auv --password-file=/etc/rsync.pas [email protected]::test  /data/test

b.window 客戶端:

安裝客戶端

建立密碼檔案c:/program files/cwrsync/pass/rsync.pas

使用記事本建立就行,內容是伺服器配置的密碼:123456

在msdos下執行(或建立bat檔案):

cd c:/program files/cwrsync/

rsync -auv --password-file="c:/program files/cwrsync/pass/rsync.pas" [email protected]::test ./test

注意:錯誤1(window 出現):

the source and destination cannot both be remote.

rsync error: syntax or usage error (code 1) at main.c(1060 [receiver=2.6.9]

解決方法:

目標路徑你使用者碟符 例如 

rsync -auv --password-file="c:/program files/cwrsync/pass/rsync.pas" [email protected]::test d:/test

就會出現這個錯誤資訊.

請使用 . .. 這樣的相對路徑 例如: ../test ./test   ./../../test

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的shell程式

--rsync-path=path 指定遠端伺服器上的rsync命令所在路徑資訊

-c, --cvs-exclude 使用和cvs一樣的方法自動忽略檔案,用來排除那些不希望傳輸的檔案

--existing 僅僅更新那些已經存在於dst的檔案,而不備份那些新建立的檔案

--delete 刪除那些dst中src沒有的檔案

--delete-excluded 同樣刪除接收端那些被該選項指定排除的檔案

--delete-after 傳輸結束以後再刪除

--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 顯示幫助資訊

Rsync遠端同步工具使用

rsync remote synchronize 是乙個遠端資料同步工具,可以使用 rsync演算法 同步本地和遠端主機之間的檔案。rsync的好處是只同步兩個檔案不同的部分,相同的部分不在傳遞。類似於增量備份,這使的在伺服器傳遞備份檔案或者同步檔案,比起scp工具要省好多時間。sudo apt g...

Rsync 資料同步工具

rsync 資料同步工具 一,rsync的工作方式 有三大類分別是 1 本地間類似cp命令的複製方式,本地間的資料傳輸服務。2 網路間兩台不同ip伺服器間資料傳輸,伺服器與伺服器之間進行資料同步。3 多組伺服器之間,以socket程序的方式,啟動rsync程序進行監聽。1,本地間的資料傳輸服務 同一...

使用rsync支援遠端同步

很多時候,我們需要將一些大的檔案進行跨網傳輸,乙個檔案動不動幾十g,當你的頻寬資源緊張的時候,傳輸這樣幾個檔案會花10小時,甚至幾天。nc傳輸檔案,通過以下方法,將加快檔案傳輸,希望對大家有所幫助。環境 server1 源位址 server2 目標位址 需求 將server1上的某個目錄檔案拷貝到s...