利用rsync与sersync实现实时数据同步

分配两台主机:

数据服务器主机:10.0.0.51

备份服务器主机:10.0.0.52

第一步:在数据服务器上下载sersync(项目网址下载),并拷贝到相应目录下,设置PATH变量

sersync项目网址:https://code.google.com/archive/p/sersync

[root@data-server ~]# ll
total 716
drwxr-xr-x 2 root root   4096 Oct 26  2011 GNU-Linux-x86        #解压后的sersync文件
-rw-r--r-- 1 root root 727290 Jun 15 16:42 sersync2.5.4_64bit_binary_stable_final.tar.gz  #sersync压缩包
[root@data-server ~]# cp GNU-Linux-x86/* /usr/local/sersync/    #复制到指定目录(此步可省略)
[root@data-server ~]# ll /usr/local/sersync/                    
total 1772
-rwxr-xr-x 1 root root    2227 Jun 16 19:24 confxml.xml         #只是sersync的配置文件
-rwxr-xr-x 1 root root 1810128 Oct 26  2011 sersync2
[root@data-server ~]# cp /usr/local/sersync/confxml.xml{,.bak}  #等会要修改配置文件,先做备份保险
[root@data-server ~]# ll /usr/local/sersync/
total 1776
-rwxr-xr-x 1 root root    2227 Jun 16 19:24 confxml.xml
-rwxr-xr-x 1 root root    2227 Jun 16 19:51 confxml.xml.bak
-rwxr-xr-x 1 root root 1810128 Oct 26  2011 sersync2
[root@data-server ~]# cat /etc/profile.d/sersync.sh             #写入PAYH变量
PATH=/usr/local/sersync:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@data-server ~]# source /etc/profile.d/sersync.sh          #生效PATH变量

第二步:在备份服务器上下载rsync-daemon(rsync服务器),并做相应配置

[root@backup ~]# yum -y install rsync-daemon
[root@backup ~]# grep -v "^#" /etc/rsyncd.conf      #修改服务器的配置文件添加以下内容
uid = root
gid = root
max connections = 0
ignore errors
exclude = lost+found/
log file = /var/log/rsyncd.log   #日志文件
pid file = /var/run/rsyncd.pid   #pid文件
lock file = /var/run/rsyncd.lock  
reverse lookup = no
[backup]
path = /data/backup/            #指定共享的真实路径
comment = backup dir
read only = no                  #设置可读可写(默认yes只读)
auth users = rsyncuser          #开启验证
secrets file = /etc/rsync.pas   #设置验证信息存放文件路径
[root@backup ~]# cat /etc/rsync.pas    #此路径存放验证信息
rsyncuser:111111                       #rsyncuser用户与其登陆的密码
[root@backup ~]# ll /etc/rsync.pas 
-rw------- 1 root root 17 Jun 16 19:13 /etc/rsync.pas   #设置权限600,加强安全性
 

 此时其他安装有rsync客户端的机器将能通过rsyncuser用户访问备份服务器

[root@data-server ~]# yum -y install rsync
[root@data-server ~]# rsync rsyncuser@10.0.0.52::backup
Password:                                               #密码111111
drwxr-xr-x          4,096 2021/06/16 19:37:19 .
-rw-r--r--             29 2021/06/16 19:37:19 hello.txt

第三步:在数据服务器上修改sersync的配置文件

[root@php-fom ~]# cat /usr/local/sersync/confxml.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<head version="2.5">
    <host hostip="localhost" port="8008"></host>
    <debug start="false"/>                     #调试模式关闭
    <fileSystem xfs="false"/>
    <filter start="false">                     #不开启过滤功能,开启时以下类型文件将不同步
	<exclude expression="(.*)\.svn"></exclude>
	<exclude expression="(.*)\.gz"></exclude>
	<exclude expression="^info/*"></exclude>
	<exclude expression="^static/*"></exclude>
    </filter> 
    <inotify>                                  #监控事件,默认监控
	<delete start="true"/>
	<createFolder start="true"/>
	<createFile start="false"/>
	<closeWrite start="true"/>
	<moveFrom start="true"/>
	<moveTo start="true"/>
	<attrib start="true"/>                     #修改次行为true:监控文件的属性变化
	<modify start="false"/>
    </inotify>

    <sersync>
	    <localpath watch="/data_server/">       #修改此行,需要同步的本地源目录或文件
	    <remote ip="10.0.0.50" name="backup"/>  #修改此行,指定备份服务器ip和共享目录名称
	    <!--<remote ip="192.168.8.39" name="tongbu"/>-->
	    <!--<remote ip="192.168.8.40" name="tongbu"/>-->
	</localpath>
	-----------------------------------------------
以下内容不用修改

[root@data-server ~]# cat /etc/rsync.pas              #用于rsyncuser用于验证的密码文件
111111
[root@data-server ~]# ll /etc/rsync.pas 
-rw------- 1 root root 7 Jun 16 19:36 /etc/rsync.pas  #设置600权限加强安全性
[root@data-server ~]# sersync2 -h                     #查看sersync帮助
set the system param
execute:echo 50000000 > /proc/sys/fs/inotify/max_user_watches
execute:echo 327679 > /proc/sys/fs/inotify/max_queued_events
parse the command param
_______________________________________________________
参数-d:启用守护进程模式
参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍
c参数-n: 指定开启守护线程的数量,默认为10个
参数-o:指定配置文件,默认使用confxml.xml文件
参数-m:单独启用其他模块,使用 -m refreshCDN 开启刷新CDN模块
参数-m:单独启用其他模块,使用 -m socket 开启socket模块
参数-m:单独启用其他模块,使用 -m http 开启http模块
不加-m参数,则默认执行同步程序
________________________________________________________________
[root@data-server ~]# sersync2 -dro /usr/local/sersync/confxml.xml  #后台开启监控

---------------------------------------------------------------------------------------
到此,当数据服务器端的/data_server/内出现数据变化时,备份服务器端的共享目录将会出现相应变化
---------------------------------------------------------------------------------------

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值