CentOS 6.5 Rsync+Inotify實時同步

服務端:backup_server    192.168.174.10web

客戶端:lamp                  192.168.174.20vim

1、服務端部署

①生成配置文件併發

vim /etc/rsyncd.conf測試

#Rsync server
#created by yupan 15:01 2016-02-23
##rsyncd.conf start##
uid = root
gid = root
use chroot = no
max connections = 2000
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 192.168.174.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
#####################################
[www]
comment = www by yupan 14:18 2016-02-23
path = /data0/www/www/
#####################################
[bbs]
comment = bbs by yupan 14:18 2016-02-23
path = /data0/www/bbs/
#####################################
[blog]
comment = blog by yupan 14:18 2016-02-23
path = /data0/www/blog/
#####################################
[backup]
comment = blog by yupan 14:18 2016-02-23
path = /backup/
#####################################
[nfs]
comment = blog by yupan 14:18 2016-02-23
path = /backup/nfs/

②密碼及權限設置優化

echo "rsync_backup:panda" > /etc/rsync.passwordui

chmod 600 /etc/rsync.passwordspa

③啓動Rsync3d

啓動(daemon模式)調試

rsync --daemon

加入開機自啓動code

echo "/usr/bin/rsync --daemon" >> /etc/rc.local

檢查開機啓動

cat /etc/rc.local

檢查Rsync進程(二選一)

ps -ef|grep rsync
netstat -lntup|grep rsync

重啓服務

killall rsync
rsync --daemon

④建立共享目錄

mkdir -p /data0/www/{bbs,www,blog}

2、客戶端配置

①生成密碼文件

echo "panda" > /etc/rsync.password
chmod 600 /etc/rsync.password 

②測試同步功能

rsync -avz a.txt rsync_backup@192.168.174.10::www/ --password-file=/etc/rsync.password

③服務端驗證

服務端防火牆需rsync通行

 ④Inotify配置

建立tools、scripts文件夾集中管理軟件包及腳本文件,編譯安裝Inotify-3.14

mkdir  -p /home/tools
mkdir -p /home/scripts
cd /home/tools/
tar xf inotify-tools-3.14.tar.gz 
cd inotify-tools-3.14
./configure --prefix=/usr/local/inotify-tools-3.14
make && make install
ln -s /usr/local/inotify-tools-3.14/ /usr/local/inotify

 

Inotify簡易腳本調試,後臺運行

vim /home/scripts/inotify.sh

 

#!/bin/sh
dir="/usr/local/inotify-tools-3.14/bin/inotifywait"
$dir -mrq --timefmt '%d/%m/%y %H:%M' --format '%w%f' -e delete,create,close_write /backup|while read line
do
   cd /
   rsync -az --delete /backup/ rsync_backup@192.168.174.10::nfs --password-file=/etc/rsync.password
done

 

sh /home/scripts/inotify.sh &

 

⑤測試同步效果

服務端:

客戶端:

客戶端開始生成文件:

touch {a..z}

查看服務端文件夾:

 

3、Rsync+Inotify優缺點

1,rsync是單向傳輸。
2,能夠互爲服務端及客戶端
3,同步時不會陷入循環
4,併發較小,不能適用大型集羣

優化版本:

真正的inotify+rsync實時同步 完全告別同步慢

相關文章
相關標籤/搜索