rsync和inotify實現文件的實時同步

rsync和inotify實現文件的實時同步

linux運維管理實際操作中,文件的備份,對每個系統管理者與電腦使用者來說都很重要,常見的方式,將文件傳送至另一臺電腦做備份,或者另存在動存儲備份之外操作系統,實際應用中,爲了數據文件的安全性,需要實時備份服務器上的文件數據.
 
 
目的是將192.168.4.8上 /home 目錄的數據同步到192.168.7.45的/home/123目錄。
 
主服務器配置 (192.168.4.8 上安裝rsync和inotify)
安裝rsync (rsync在主服務器上不需要配置文件,因爲主服務器的數據是被推到備份服務器的。)
# wget https://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz
# tar zxvf rsync-3.0.9.tar.gz
# cd rsync
# ./configure –prefix=/usr/local/rsync
# make && make install
 
建立密碼認證文件
# echo “tian” > /usr/local/rsync/rsync.pass
# chmod 600  /usr/local/rsync/rsync.pass
 
Inotify 是文件系統事件監控機制,是一種強大的、細粒度的、異步的機制,它滿足各種各樣的文件監控需要,不僅限於安全和性能。
 
安裝inotify
# wget http://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
# tar zxvf inotify-tools-3.14.tar.gz
# cd inotify-tools-3.14
# ./configure –prefix=/usr/local/inotify
# make && make install
 
創建啓動腳本
# vim /usr/local/inotify/rsync.sh
#!/bin/bash
src=/home/
/usr/local/bin/inotifywait -mrq --format '%w%f' -e modify,delete,create,attrib $src | while read x
        do
                rsync -vzrtopg --delete –progress --password-file=/usr/local/rsync/rsync.pass $src $des &&
                echo "$x was rsynced" >>/usr/local/rsync/rsync.log
        done
 
/usr/local/inotify/rsync.sh &
 
備份服務器的配置(192.168.7.45)
安裝rsync
# wget https://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz
# tar zxvf rsync-3.0.9.tar.gz
# cd rsync
# ./configure –prefix=/usr/local/rsync
# make && make install
 
建立密碼文件
# echo “tian:tian123” > /usr/local/rsync/rsync.pass
# chmod 600  /usr/local/rsync/rsync.pass
 
建立配置文件
# vim /usr/local/rsync/rsync.conf
#[globale]
strict modes= yes
port= 873
logfile= /var/log/rsyncd.log
pidfile= /var/run/rsyncd.pid
lock file= /var/run/rsync.lock
max connections= 4
secrets file= /usr/local/rsync/rsync.pass
#[modules]
[mail]
uid= root
gid= root
path= /home/123
read only= no
list= yes
host allow= *
auth users= tian
 
啓動rsync
# /usr/local/rsync/bin/rsync --daemon --config=/usr/local/rsync/rsync.conf
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章