linux下通过rsync+inotify 实现数据实时备份(远程容灾备份系统)
本文出處參考:http://www.jbxue.com/article/10493.html
一.安裝步驟(服務(wù)器端192.168.0.5)
1) 安裝rsync 點(diǎn)擊下載rsync-3.0.9.tar.gz
?? 下載文件放到該目錄下/usr/src
?? #cd /usr/src
?? #tar -zxvf rsync-3.0.9.tar.gz //解壓文件
?? #cd rsync-3.0.9 //進(jìn)入該文件目錄
?? #./configure //主要的作用是對(duì)即將安裝的軟件進(jìn)行配置,檢查當(dāng)前的環(huán)境是否滿足要安裝軟件的依賴關(guān)系
?? #make //編譯
?? #make install //安裝
2)安裝inotify? 點(diǎn)擊下載inotify-tools-3.14.tar.gz
?? 下載文件放到該目錄下/usr/src
?? #cd /usr/src
?? #tar -zxvf inotify-tools-3.14.tar.gz //解壓文件
?? #cd inotify-tools-3.14 //進(jìn)入該文件目錄
?? #./configure //主要的作用是對(duì)即將安裝的軟件進(jìn)行配置,檢查當(dāng)前的環(huán)境是否滿足要安裝軟件的依賴關(guān)系
?? #make //編譯
?? #make install //安裝
3)服務(wù)端編寫文件夾監(jiān)視腳本
? #vi /srv/rsync.sh
? rsync.sh內(nèi)容如下:
? #!/bin/bash
? src=/srv/test/?? #監(jiān)視改文件路徑,文件夾內(nèi)容發(fā)生改變觸發(fā)服務(wù)器數(shù)據(jù)同步
? des=backup?????? #客服端配置的模塊(客服端會(huì)介紹)
? host="192.168.10.6"? #同步到的IP地址,如有多個(gè)用空格隔開。例如:host="192.168.10.6 192.168.10.7"
? /usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e????????????? modify,delete,create,attrib $src | while read files #這邊要主要下inotifywait,只有Linux 2.6.13 或更高版的才會(huì)兼容
? do
? for hostip in $host
? do
? #rsync -vzrtopg --delete --progress rsync@$hostip::$des $src --password-file=/etc/rsync.pas 該命令是客服端跟新后同步到服務(wù)器端
? rsync -vzrtopg --delete --progress --password-file=/etc/rsync.pas $src rsync@$hostip::$des #改命令是服務(wù)器端跟新后同步到客服端(看具體使用情況選擇)
#--password-file=/etc/rsync.pas 配置到客服端,也就是客戶端路徑下有rsync.pas 用于配置登陸密碼
#rsync 是客戶端配置的登陸名
? done
? echo "${files} was rsynced" >>/tmp/rsync.log 2>&1? #生成日志文件
? done
4)啟動(dòng)nohup
? #nohup /bin/bash /srv/rsync.sh &? //后臺(tái)不掛斷地運(yùn)行命令
? #echo "nohup /bin/bash /root/bin/rsync.sh &" >> /etc/rc.local //設(shè)置linux服務(wù)器啟動(dòng)自動(dòng)啟動(dòng)nohup
? rsync + inofity服務(wù)端就配置好了,接下來我們來配置客服端
二.安裝步驟(客服端)
1) 安裝rsync 步驟如上!
2)配置rsyncd.conf
? #vi /etc/rsyncd.conf //打開rsyncd.conf
? rsyncd.conf內(nèi)容如下:
? uid = root
? gid = root
? port = 873 #post rsync使用的端口號(hào)? 也是默認(rèn)端口號(hào) www.jbxue.com
? hosts allow = 192.168.10.5????????? #allow hosts ip 應(yīng)許的ip訪問,也可以設(shè)置為ip段
? max connections =
? timeout=
? ##config file
? pid file = /var/run/rsyncd.pid
? lock file = /var/run/rsync.lock
? log file = /var/log/rsyncd.log
? #motd file = /etc/rsyncd.motd
? ##global config
? [backup]
? path =/srv/test? #客服端已rsync服務(wù)端同步的文件路徑
? comment = from 192.168.10.5? #解釋
? read only = no
? list = no
? ##client sync config
? auth users =rsync? #配置登陸名稱
? secrets file = /etc/rsync.passwd? #配置用戶名密碼文件
3)配置rsync.passwd
? #vi /etc/rsync.passwd
? rsync.passwd內(nèi)容如下:
? rsync:cyc? #rsync登陸用戶名? cyc是登陸密碼?
? #chomd 600 rsync.passwd #需要注意rsync.passwd的權(quán)限配置?
? 客服端配置完成!
三.如果再配置過程中出現(xiàn)如下問題,分析出錯(cuò)原因。
?問題一:
?@ERROR: chroot failed
?rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
?原因:
?服務(wù)器端的目錄不存在或無權(quán)限,創(chuàng)建目錄并修正權(quán)限可解決問題。
?問題二:
?@ERROR: auth failed on module backup
?rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
?原因:
?服務(wù)器端該模塊(backup)需要驗(yàn)證用戶名密碼,但客戶端沒有提供正確的用戶名密碼,認(rèn)證失敗。
?提供正確的用戶名密碼解決此問題。
?問題三:
?@ERROR: Unknown module ‘backup'
?rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
?原因:
?服務(wù)器不存在指定模塊。提供正確的模塊名或在服務(wù)器端修改成你要的模塊以解決問題。
轉(zhuǎn)載于:https://blog.51cto.com/gushiren/1725976
總結(jié)
以上是生活随笔為你收集整理的linux下通过rsync+inotify 实现数据实时备份(远程容灾备份系统)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么做fastreport使用离线数据源
- 下一篇: V 6 iSCSI