首页 > Linux工具使用 > CentOS6.5实现rsync+inotify实时同步

CentOS6.5实现rsync+inotify实时同步

2016年11月4日

CentOS6.5实现rsync+inotify实时同步
http://www.centoscn.com/image-text/config/2015/0827/6070.html
1.架构
服务器端:192.168.202.135
客户端:192.168.202.129
2.rsync服务器端安装配置

yum install rsync -y #安装rsync服务
为rsync服务提供配置文件:
vim /etc/rsyncd.conf #文件默认不存在,添加以下内容

uid = root #启动服务进程的用户
gid = root #启动服务进程的用户组
port = 873 #以守护进程启动rsync服务时监听的端口号
hosts allow = 192.168.202.0/24 #允许哪些客户端能够连接服务
max connections = 0 #指定该服务的最大并发连接数,为0表示不限制
timeout= 300 #指定超时时间

pid file = /var/run/rsyncd.pid #pid文件路径
lock file = /var/run/rsync.lock #锁文件路径
log file = /var/log/rsyncd.log #日志文件路径

[backup] #模块声明
path =/rsync/test #指定当前模块在rsync服务器上的同步路径,该参数是必须指定的
read only = no #是否允许客户端上传文件
list = no #当客户请求列出可以使用的模块列表时,该模块是否应该被列出
auth users = rsync #指定由空格或逗号分隔的用户名列表,只有这些用户才允许连接该模块
secrets file = /etc/rsync.passwd #保存密码和用户名文件,需要自己生成
设置密码文件:
vim /etc/rsync.passwd #添加以下内容

rsync:123456

chmod 600 /etc/rsync.passwd #修改密码文件权限为600
注:当配置文件中参数strict modes为true时,rsync认证口令文件的权限一定是600,否则客户端将不能连接服务器。rsync认证口令文件中每一行指定一个 用户名:口令 对,格式为:username:passwd。
启动rsync服务并设置开机自启动:
/usr/bin/rsync –daemon #以守护进程方式启动rsync服务
echo “/usr/bin/rsync –daemon”>>/etc/rc.local #添加开机自启动
3.rsync客户端安装与配置
安装inotify-tools:
在安装inotify-tools前请先确认你的linux内核是否达到了2.6.13,并且在编译时开启了CONFIG_INOTIFY选项,也可以通过以下命令检测,如果出现以下输出,说明支持:
[[email protected] ~]# ls /proc/sys/fs/inotify/
max_queued_events max_user_instances max_user_watches
安装:
wget http://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
tar xvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure
make;make install
编写rsync.sh监控脚本:
#!/bin/bash
host=192.168.202.135
src=/data/www/
des=backup
user=rsync

/usr/local/bin/inotifywait -mrq –timefmt ‘%d/%m/%y %H:%M’ –format ‘%T %w%f’ \
-e modify,delete,create,attrib \
${src} \
| while read file
do
rsync -vzrtopg –delete –progress ${src} ${user}@${host}::${des} –password-file=/etc/www.pwd &&
echo “${files} was rsynced” >> /tmp/rsync.log 2>&1
echo “—————————————————————————”
done
建立认证文件(客户端认证文件只用加入密码即可)并后台运行rsync.sh脚本:
echo ‘rsync’ >> /etc/www.pwd
chmod 600 /etc/ww.pwd
nohup sh /root/rsync.sh &
echo “nohup sh /root/rsync.sh &” >> /etc/rc.local
参考资料:
rsync服务器的安装与配置:http://www.cnblogs.com/mchina/p/2829944.html
rsync+inotify实现文件批量更新:http://kerry.blog.51cto.com/172631/734087/
rsync+inotify实现数据实时备份:
http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=11840697&id=3890795

分类: Linux工具使用 标签:
本文的评论功能被关闭了.