linux下通過(guò)rsync+inotify 實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)備份(遠(yuǎn)程容災(zāi)備份系統(tǒng))

一.安裝步驟(服務(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)境是否滿(mǎn)足要安裝軟件的依賴(lài)關(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)境是否滿(mǎn)足要安裝軟件的依賴(lài)關(guān)系
#make //編譯
#make install //安裝
3)服務(wù)端編寫(xiě)文件夾監(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è)用空格隔開(kāi)。例如: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 配置到客服端,也就是客戶(hù)端路徑下有rsync.pas 用于配置登陸密碼
#rsync 是客戶(hù)端配置的登陸名
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ù)端就配置好了,接下來(lái)我們來(lái)配置客服端
二.安裝步驟(客服端)
1) 安裝rsync 步驟如上!
2)配置rsyncd.conf
#vi /etc/rsyncd.conf //打開(kāi)rsyncd.conf
rsyncd.conf內(nèi)容如下:
uid = root
gid = root
port = 873 #post rsync使用的端口號(hào) 也是默認(rèn)端口號(hào)
hosts allow = 192.168.10.5 #allow hosts ip 應(yīng)許的ip訪(fǎng)問(wèn),也可以設(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 #配置登陸名稱(chēng)
secrets file = /etc/rsync.passwd #配置用戶(hù)名密碼文件
3)配置rsync.passwd
#vi /etc/rsync.passwd
rsync.passwd內(nèi)容如下:
rsync:cyc #rsync登陸用戶(hù)名 cyc是登陸密碼
#chomd 600 rsync.passwd #需要注意rsync.passwd的權(quán)限配置
客服端配置完成!
三.如果再配置過(guò)程中出現(xiàn)如下問(wèn)題,分析出錯(cuò)原因。
問(wèn)題一:
@ERROR: chroot failed
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
原因:
服務(wù)器端的目錄不存在或無(wú)權(quán)限,創(chuàng)建目錄并修正權(quán)限可解決問(wèn)題。
問(wè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)證用戶(hù)名密碼,但客戶(hù)端沒(méi)有提供正確的用戶(hù)名密碼,認(rèn)證失敗。
提供正確的用戶(hù)名密碼解決此問(wèn)題。
問(wèn)題三:
@ERROR: Unknown module ‘backup'
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
原因:
服務(wù)器不存在指定模塊。提供正確的模塊名或在服務(wù)器端修改成你要的模塊以解決問(wèn)題。
相關(guān)文章
Linux下用dnsmasq做dns cache server的配置方法
最近國(guó)外的服務(wù)器本地DNS總是出故障,閃斷一會(huì)兒都會(huì)影響業(yè)務(wù)。于是在機(jī)房里找了兩臺(tái)Server,安裝上keepalived和dnsmasq實(shí)際本地的DNS緩存2014-08-08淺析Linux中使用nohup及screen運(yùn)行后臺(tái)任務(wù)的示例和區(qū)別
這篇文章主要介紹了Linux中使用nohup及screen運(yùn)行后臺(tái)任務(wù)的示例和區(qū)別,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07logrotate實(shí)現(xiàn)日志切割方式(轉(zhuǎn)儲(chǔ))
這篇文章主要介紹了logrotate實(shí)現(xiàn)日志切割方式(轉(zhuǎn)儲(chǔ)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05Linux系統(tǒng)(Centos6.5以上)安裝jdk教程解析
這篇文章主要介紹了Linux系統(tǒng)(Centos6.5以上)安裝jdk教程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09