分配两台主机:
数据服务器主机: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/内出现数据变化时,备份服务器端的共享目录将会出现相应变化
---------------------------------------------------------------------------------------