您的位置:首页 > 运维架构 > Linux

Linux文件实时同步,可实现一对多

2013-10-30 22:20 453 查看
说明:该功能服务端安装sersync2,客户端安装rsync,原理就是服务端主动推送设定目录下的所有更新的文件到各个客户端rsync接收。

rsync大家都知道,是Linux自带的数据同步工具,而sersync2是google大神的开源项目http://code.google.com/p/sersync/

下面给出具体的实现步骤,实现的详细原理大家可以去上面的开源网址,上面说的很详细

客户端配置,首先系统安装rsync工具,

[root@yo57 ~]# vi /etc/rsyncd.conf

uid=www
gid=www
max connections=36000
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock

[yowebtongbu]
path=/Data/code/adserver
comment = yo web files
ignore errors = yes
read only = no
hosts allow = 192.168.0.0/24
hosts deny = *
[root@yo57 ~]# /usr/bin/rsync --daemon --config=/etc/rsyncd.conf
[root@yo57 ~]# ps -ef|grep rsyn
root      1070 29923  0 17:04 pts/4    00:00:00 grep rsyn
root     32069     1  0 16:54 ?        00:00:00 /usr/bin/rsync --daemon --config=/etc/rsyncd.conf


写入开机启动项

[root@yo57 ~]# vi /etc/rc.local

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

ulimit -SHn 51200
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
/usr/local/nginx/sbin/nginx
/etc/init.d/php_fpm start
/usr/bin/rsync --daemon --config=/etc/rsyncd.conf


服务器端

修改这一段即可

进行一次完整同步

[root@10
sersync2.5.4_64]
#
./sersync2 -r
写入脚本并放入开机启动项

整个实现就这么简单,以后主服务器上面/Data/code/adserver目录下有新建、删除、修改文件或文件夹(包括下层递归)的的数据会自动推送到下面的各个服务端对应目录下,如果临时不需要该功能,kill掉服务端即可,操作完以后在手动开启服务端(此时客户端不用动)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息