linux下通過rsync+inotify 實現(xiàn)數(shù)據(jù)實時備份(遠程容災備份系統(tǒng))

一.安裝步驟(服務器端192.168.0.5)
1) 安裝rsync 點擊下載rsync-3.0.9.tar.gz
下載文件放到該目錄下/usr/src
#cd /usr/src
#tar -zxvf rsync-3.0.9.tar.gz //解壓文件
#cd rsync-3.0.9 //進入該文件目錄
#./configure //主要的作用是對即將安裝的軟件進行配置,檢查當前的環(huán)境是否滿足要安裝軟件的依賴關(guān)系
#make //編譯
#make install //安裝
2)安裝inotify 點擊下載inotify-tools-3.14.tar.gz
下載文件放到該目錄下/usr/src
#cd /usr/src
#tar -zxvf inotify-tools-3.14.tar.gz //解壓文件
#cd inotify-tools-3.14 //進入該文件目錄
#./configure //主要的作用是對即將安裝的軟件進行配置,檢查當前的環(huán)境是否滿足要安裝軟件的依賴關(guān)系
#make //編譯
#make install //安裝
3)服務端編寫文件夾監(jiān)視腳本
#vi /srv/rsync.sh
rsync.sh內(nèi)容如下:
#!/bin/bash
src=/srv/test/ #監(jiān)視改文件路徑,文件夾內(nèi)容發(fā)生改變觸發(fā)服務器數(shù)據(jù)同步
des=backup #客服端配置的模塊(客服端會介紹)
host="192.168.10.6" #同步到的IP地址,如有多個用空格隔開。例如: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 或更高版的才會兼容
do
for hostip in $host
do
#rsync -vzrtopg --delete --progress rsync@$hostip::$des $src --password-file=/etc/rsync.pas 該命令是客服端跟新后同步到服務器端
rsync -vzrtopg --delete --progress --password-file=/etc/rsync.pas $src rsync@$hostip::$des #改命令是服務器端跟新后同步到客服端(看具體使用情況選擇)
#--password-file=/etc/rsync.pas 配置到客服端,也就是客戶端路徑下有rsync.pas 用于配置登陸密碼
#rsync 是客戶端配置的登陸名
done
echo "${files} was rsynced" >>/tmp/rsync.log 2>&1 #生成日志文件
done
4)啟動nohup
#nohup /bin/bash /srv/rsync.sh & //后臺不掛斷地運行命令
#echo "nohup /bin/bash /root/bin/rsync.sh &" >> /etc/rc.local //設置linux服務器啟動自動啟動nohup
rsync + inofity服務端就配置好了,接下來我們來配置客服端
二.安裝步驟(客服端)
1) 安裝rsync 步驟如上!
2)配置rsyncd.conf
#vi /etc/rsyncd.conf //打開rsyncd.conf
rsyncd.conf內(nèi)容如下:
uid = root
gid = root
port = 873 #post rsync使用的端口號 也是默認端口號
hosts allow = 192.168.10.5 #allow hosts ip 應許的ip訪問,也可以設置為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服務端同步的文件路徑
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)如下問題,分析出錯原因。
問題一:
@ERROR: chroot failed
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
原因:
服務器端的目錄不存在或無權(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]
原因:
服務器端該模塊(backup)需要驗證用戶名密碼,但客戶端沒有提供正確的用戶名密碼,認證失敗。
提供正確的用戶名密碼解決此問題。
問題三:
@ERROR: Unknown module ‘backup'
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
原因:
服務器不存在指定模塊。提供正確的模塊名或在服務器端修改成你要的模塊以解決問題。
相關(guān)文章
Linux下用dnsmasq做dns cache server的配置方法
最近國外的服務器本地DNS總是出故障,閃斷一會兒都會影響業(yè)務。于是在機房里找了兩臺Server,安裝上keepalived和dnsmasq實際本地的DNS緩存2014-08-08淺析Linux中使用nohup及screen運行后臺任務的示例和區(qū)別
這篇文章主要介紹了Linux中使用nohup及screen運行后臺任務的示例和區(qū)別,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07logrotate實現(xiàn)日志切割方式(轉(zhuǎn)儲)
這篇文章主要介紹了logrotate實現(xiàn)日志切割方式(轉(zhuǎn)儲),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05Linux系統(tǒng)(Centos6.5以上)安裝jdk教程解析
這篇文章主要介紹了Linux系統(tǒng)(Centos6.5以上)安裝jdk教程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-09-09