安裝
yum install -y rsync
yum install -y xinted // 這個(gè)不知道是用來(lái)干嘛的
配置
配置有分很多種,首先找到rsyncd.conf路徑,一般在etc文件夾內(nèi)。不知道就find一下
find / -name 'rsyncd.conf
vim rsyncd.conf
- 全局配置參數(shù)
- motd file
用于向連接端展示消息用,消息可以自己在指定文件中設(shè)置,默認(rèn)空,進(jìn)程命令:
--dparam=motdfile=motd file
- pid file
用于守護(hù)進(jìn)程寫(xiě)入進(jìn)程id用,必填項(xiàng),進(jìn)程命令:
--dparam-pidfile=pid file
- port
指定rsync運(yùn)行的端口號(hào),默認(rèn)873,命令:
--port=873
- address
用于設(shè)置rsync監(jiān)聽(tīng)的ip地址,命令:
--address=IP
- socket options
用于設(shè)置socket套接字配置,具體查看socket配置項(xiàng)配置,命令:
--sockopts=opts
- 模塊配置參數(shù)(常用)
- comment
連接端接入該模塊時(shí)展示于模塊名稱旁,默認(rèn)無(wú) - path
指定該模塊允許訪問(wèn)的文件路徑 - use chroot
當(dāng)該參數(shù)為true時(shí),rsync默認(rèn)會(huì)吧path作為該模塊訪問(wèn)的根路徑,可選值:true/false - daemon chroot
當(dāng)改參數(shù)為true時(shí),rsync會(huì)將守護(hù)進(jìn)程的chroot路徑指定為該模塊下的path,默認(rèn)不設(shè)置,可選值:true/false - proxy protocol
當(dāng)開(kāi)啟該參數(shù)時(shí),會(huì)拒絕沒(méi)有攜帶代理報(bào)頭的連接端,意思是如果是true的話,需要轉(zhuǎn)發(fā)代理ip待rsync中,否則連接端就會(huì)直接請(qǐng)求到rsync中,默認(rèn)不開(kāi)啟,可以使用開(kāi)啟密碼訪問(wèn)的方式來(lái)提高安全性??蛇x值:true/false - max connections
指定該模塊最大并發(fā)連接數(shù),默認(rèn)無(wú)限制(-1/0) - log file
用于指定寫(xiě)入日志的文件路徑,必填項(xiàng) - lock file
該文件用于限制最大并發(fā)數(shù),必填項(xiàng) - read only
開(kāi)啟/關(guān)閉連接端讀權(quán)限 - write only
開(kāi)啟/關(guān)閉連接端寫(xiě)權(quán)限 - list
文檔看的不大懂 - uid
指定rsync運(yùn)行進(jìn)程時(shí)哪個(gè)用戶/文件是可用的,通常與gid配合使用 - gid
指定一個(gè)組別 - auth users
指定該模塊可訪問(wèn)的用戶,設(shè)置后連接端訪問(wèn)該模塊時(shí),需要輸入正確密碼才能訪問(wèn),多個(gè)可用空格或者逗號(hào)隔開(kāi),示例:
bob,jane // 指定兩個(gè)用戶可連接
bob:deny,jane // bob不可連接
bob, @guest jane:deny mark // guest組下的jane不可連接
bob:r,jane:w // bob只讀,jane只寫(xiě)
- secrets file
指定用戶賬號(hào)密碼,當(dāng)auth users有設(shè)置的話,連接端連接時(shí)會(huì)去該文件中比對(duì)連接端的賬號(hào)密碼是否正確,格式:
username:password
- hosts allow
設(shè)置允許訪問(wèn)的ip地址,默認(rèn)不設(shè)置,格式:
hosts allow = IP1[, IP2| iIP2...]
- hosts deny
設(shè)置不允許訪問(wèn)的ip地址,默認(rèn)不設(shè)置 - ignore errors
是否忽略文件傳輸中的錯(cuò)誤,可選值:yes/no - timeout
rsync取消連接端建立連接的超時(shí)時(shí)間
使用
- 本地文件同步
rsync -r fileA fileB 將fileA文件夾及其子文件同步到fileB的fileA文件夾中
rsync -r fileA/ fileB 將fileA文件夾及其子文件同步到FileB中
-r 遞歸文件夾
rsync -a fileA fileB 以歸檔模式將fileA同步到fileB的fileA文件夾中
-a 歸檔模式,包括遞歸、軟連接、權(quán)限、時(shí)間修改信息、分組修改信息、所有者,保存原信息
rsync -v fileA fileB 展示fileA同步fileB的所有狀態(tài)信息
-v 展開(kāi)顯示詳細(xì)信息
rsync -z fileA fileB 將fileA同步到fileB,并且在傳輸過(guò)程中壓縮文件數(shù)據(jù)
rsync --process fileA fileB 傳輸過(guò)程中顯示傳輸進(jìn)度
rsync --exclude='*.txt' fileA fileB 傳輸時(shí)排除.txt結(jié)尾的文件
多個(gè)排除可以這么寫(xiě)
1. --exclude=suffix1 --exclude=suffix2
2. --exclude='{suffix1,suffix2}'
3. --exclude-from=exclude file
rsync --include='*.txt' fileA fileB 在傳輸時(shí)還需將.txt結(jié)尾的文件也同步過(guò)去
- 遠(yuǎn)程拉取
需要兩端都要安裝rsync
1. 遠(yuǎn)端拉取
rsync -av [auth users]/[root]@HOST::[module_name] file
[auth users] 發(fā)送端rsyncd.conf中設(shè)置的auth users配置client用戶名
->密碼為secrets file中配置的對(duì)應(yīng)賬號(hào)中的密碼
->如果用密碼驗(yàn)證的話,會(huì)提示輸入密碼,密碼正確就會(huì)傳輸
若只開(kāi)放拉取,rsyncd.conf中[module_name]下需配置read only = true
2. 遠(yuǎn)端推送
rsync -av file [auth users]/[root]@HOST::[module_name]
操作同上
若只開(kāi)放寫(xiě)入,rsyncd.conf中[module_name]下需配置write only = true
3. 指定ssh傳輸
rsync -av -e 'ssh -p [port]' file [auth users]/[ssh_name]@HOST::[module_name]
其他
參考文檔