sersync实现文件实时同步_服务器镜像sersync实现文件实时同步_服务器镜像
sersync 实现文件实时同步(服务器镜像) 环境:
REHL AS 5.4 64bit , rsync 2.6.8 , sersync2.5_64bit_binary_stable_final.tar.gz
如果用其他较低版本OS,如REHL AS 4.7\4.8,则需要自己安装inotify-tools.建议使用REHL AS 5.4 64bit.
服务器:2台,分别标识为A,B,其中A为客户端,B为服务端,sersync安装在A机,监视文件变化,实
时推送到B服务器上...
sersync实现文件实时同步_服务器镜像
sersync 实现文件实时同步(服务器镜像) 环境:
REHL AS 5.4 64bit , rsync 2.6.8 , sersync2.5_64bit_binary_stable_final.tar.gz
如果用其他较低版本OS,如REHL AS 4.7\4.8,则需要自己安装inotify-tools.建议使用REHL AS 5.4 64bit.
服务器:2台,分别标识为A,B,其中A为客户端,B为服务端,sersync安装在A机,监视文件变化,实
时推送到B服务器上。
A机 172.16.1.179
B机 172.16.1.190
配置说明:
1,A、B分别开启rsync,以守护进程的方式。
2,A机上安装sersync。
3,A机的sersync是以rsync能正常工作为前提,请测试好了再安装。
安装步骤:
1、分别为A,B三机安装 rsync
查看是否装了rsync包
[root@hxqm tongbu]# rpm -q rsync rsync-2.6.8-3.1
2、在B服务器上新建配置文件/etc/rsyncd.conf,然后编辑/etc/rsyncd.conf,添加一下内容到文件里: motd file = /etc/rsyncd.motd uid=root
gid=root
max connections = 0
use chroot=no
log file=/var/log/rsyncd.log log format = %t %a %m %f %b pid file=/var/run/rsyncd.pid lock file=/var/run/rsyncd.lock timeout = 300
[tongbu] #定义了一个tongbu的模块
path=/data/htdocs
list=yes
comment = rsync website
ignore errors = yes
read only = no
hosts allow = 172.16.1.179 172.16.1.190 172.16.1.206
hosts deny = *
auth users = rsyncuser #开启认证模块
secrets file = /etc/rsyncd.secrets 说明:在B服务器上配置了一个名为”[tongbu]“的模块,需要同步的目录为/data/htdocs ,访问用的用户
名为test
Rsyncd.motd为rsync的欢迎信息,里面可以随便些
Vi /etc/rsyncd.motd
Welcome !!!!!
在B服务器上新建密码文件/etc/rsyncd.secrets,文件里的内容格式是:
rsyncuser:rsyncuser
注意:第一个字段是用户名,第二个字段是密码,他们之间用”:”分开。
再修改文件权限,运行chmod 600 /etc/rsyncd.secrets
3、在A服务器上新建密码的文件,只用来存放密码,如下:
# cat /etc/rsyncd.secrets
rsyncuser
再修改文件权限,运行chmod 600 /etc/rsyncd.secrets 4、开启rsync daemon格式
rsync –daemon –config=/etc/rsyncd.conf
检查rsync是否起来:
lsof -i :873
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME rsync 2625 root 4u IPv6 5662 TCP *:rsync (LISTEN)
rsync 2625 root 5u IPv4 5663 TCP *:rsync (LISTEN)
表示已经起来,返回空,表示没有起来
确保防火墙能使 tcp的873端口通过
5、把rsync启动加到启动项里
echo “rsync –daemon –config=/etc/rsyncd.conf” >>etc/rc.local
测试:
在A机上推:
rsync -vzrtopg --progress --password-file=/etc/rsyncd.secrets /opt/tongbu rsyncuser@172.16.1.190::tongbu
在A机上拉:
rsync –vzrtopg --progress root@172.16.1.190::tongbu /opt/tongbu --password-file=/etc/rsyncd.secrets
如果需要重启rsync,执行命令 service xinetd restart.
5、安装sersync
wget
如果使用linux 系统,一般情况下,不需要编译,直接使用bin目录下的可执行文件和xml配置文件即可。 src目录下放的是源码
lib目录下是需要的静态库
bin目录是最后生成的二进制文件
在sersync 目录下执行make命令,就会将生成的2进制文件放入bin目录下。
由于大部分库都是静态编译的,所以在被监控服务器上,修改好配置文件后,直接执行./sersync2.1 即可,只需修改 sersync标签下的内容如下即可
#1,本地主机配置
#2,watch填写需同步的本地路径
3,remote填写要同步的远程主机IP与模块
名称即B、C机的IP
–>
–> #注释掉无用的IP
#可修改rsync参数
#4,为true,开启
密码认证
#start标签设置为true,即设定多长时间对监控
项目彻底同步一次,默认为600分钟。
#plugin标签是在同步过程中使用插件
#socket插件标签
#CDN插件标签
要注意的有这么几个地方:
1,本地IP和端口
2,本地同步路径
3,远程主机的IP
4,是否开启密码认证
6、 ./sersync2 -r -d 启动sersync
7. 加入sersync开机自动启动 echo “/data/soft/sersync2 -r -d -o /data/soft/confxml.xml” >> /etc/rc.local
附1:sersync服务端配置:sersync 配置
1、安装
详情:
confxml.xml 主配置文件
rsync_fail_log.sh RSYNC同步失败日志,SERSYNC会定期对此文件的日志进行分析与重传
sersync2 主程序二进制文件
2、启动
/usr/local/sersync/sersync2 -r -d -o /usr/local/sersync/config.xml
#通常情况下使用这种方式,对本地到远程整体同步一遍后,在后台运行实时同步。
/usr/local/sersync/sersync2 -d –o /usr/local/sersync/config.xml
#在主服务器上开启sersync守护进程,使sersync在后台运行,开启实时同步。
/usr/local/sersync/sersync2 -r –o /usr/local/sersync/config.xml
#在开启实时监控的之前对主服务器目录与远程目标机目录进行一次整体同步
#如果设置了过滤器,即在xml文件中,filter为true,则暂时不能使用-r参数进行整体同步。-r参数将
会无效
/usr/local/sersync/sersync2 -n 5 -d -o /usr/local/sersync/config.xml
#指定默认的线程池的线程总数,如果不指定,默认启动线程池数量是10(适用于四核服务器)
#如果cpu使用过高,可以通过这个参数调低,如果机器配置较高,可以用,n跳高线程总数。
不进行同步,只运行插件
./sersync -m pluginName
例如./sersync -m command,则在监控到文件事件后,不对远程目标服务器进行同步,而是直接运行
command插件。
多个参数可以配合使用
./sersync -n 8 -o abc.xml -r -d
表示,设置线程池工作线程为8个,指定abc.xml作为配置文件,在实时监控前作一次整体同步,以守
护进程方式在后台运行。
注意事项
1、sersync2启动时,如果不是在当前程序目录启动(./sersync2),请指定-o选项,否则程序找不到配置
文件
本文档为【sersync实现文件实时同步_服务器镜像】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。