7、resync实时备份


sersync+rsync(增量,无差异备份),resync支持多线程,效果比inotify更好,配置思想和inotify很相似

7.1、在备份服务器上安装并配置rsync服务,实现nfs共享目录,可以同步到rsync服务器上;

7.2、在nfs服务器上安装配置sersync服务,实现nfs共享目录实时同步到备份服务器上;

1、下载rpm包:

rpm -qa sersync #sersync在网络中的yum源仓库中是没有的;

wget http://down.whsir.com/downloads/sersync2.5.4_64bit_binary_stable_final.tar.gz

mkdir /application/

cd /application/

cp /var/cache/yum/sersync2.5.4_64bit_binary_stable_final.tar.gz /application

tar -xzvf sersync2.5.4_64bit_binary_stable_final.tar.gz /application/

扫描二维码关注公众号,回复: 9180880 查看本文章

2、以下面的格式进行:

3、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"> #过滤功能,类似于rsync中的--exclude参数

<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="false"/>

<modify start="false"/>

</inotify>


<sersync>

<localpath watch="/data/"> #监控的目录;

#对应的是rsync中的模块名;此配置在后面可以加多个,备份到不同的rsync备份服务器或不同的模块;

<remote ip="172.16.1.41" name="nfsbackup/"/>

<!--<remote ip="192.168.8.39" name="tongbu"/>-->

<!--<remote ip="192.168.8.40" name="tongbu"/>-->

</localpath>


<rsync>

<commonParams params="-az "/>

<auth start="true" users="rsync_backup" passwordfile="/etc/rsync.password"/> #rsync服务端的验证密码文件

<userDefinedPort start="false" port="874"/><!-- port=874 -->#自定义端口,一般不用,默认是874;

<timeout start="true" time="100"/><!-- timeout=100 -->#客户端超时100秒断开连接;

<ssh start="false"/>

</rsync>

#失败的日志收集文件

<failLog path="/application/log/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->

#对监控目录与目标服务器每隔一段时间进行一次整体同步,默认600分钟且不开启,根据个人情况是否开启;

<crontab start="false" schedule="600"><!--600mins-->

<crontabfilter start="false">#如果之前开启了文件过滤,这里也要设置过滤虚拟交换机

<exclude expression="*.php"></exclude>

<exclude expression="info/*"></exclude>

</crontabfilter>

</crontab>

<plugin start="false" name="command"/>

</sersync>


<plugin name="command">

<param prefix="/bin/sh" suffix="" ignoreError="true"/> <!--prefix /opt/tongbu/mmm.sh suffix-->

<filter start="false">

<include expression="(.*)\.php"/>

<include expression="(.*)\.sh"/>

</filter>

</plugin>


<plugin name="socket">

<localpath watch="/opt/tongbu">

<deshost ip="192.168.138.20" port="8009"/>

</localpath>

</plugin>

<plugin name="refreshCDN">#Cdn传输

<localpath watch="/data0/htdocs/cms.xoyo.com/site/">

<cdninfo domainname="ccms.chinacache.com" port="80" username="xxxx" passwd="xxxx"/>

<sendurl base="http://pic.xoyo.com/cms"/>

<regexurl regex="false" match="cms.xoyo.com/site([/a-zA-Z0-9]*).xoyo.com/images"/>

</localpath>

</plugin>

</head>

4、查看参数:

[root@nfs01 bin]# /application/sersync/bin/sersync2 -h

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命令推送一遍

参数-n: 指定开启守护线程的数量,默认为10个

参数-o:指定配置文件,默认使用confxml.xml文件

参数-m:单独启用其他模块,使用 -m refreshCDN 开启刷新CDN模块

参数-m:单独启用其他模块,使用 -m socket 开启socket模块

参数-m:单独启用其他模块,使用 -m http 开启http模块

不加-m参数,则默认执行同步程序

_______________________________________________________________

5、启动服务:

/application/sersync/bin/sersync2 -d -n 8 -r -o /application/sersync/conf/confxml.xml

6、查看服务:

[root@nfs01 data]# ps -ef | grep "sersync"| grep -v "grep"

root 1991 1 0 12:05 ? 00:00:00 /application/sersync/bin/sersync2 -d -r -n 8 -o /application/sersync/conf/confxml.xml

root 2032 1 0 12:11 ? 00:00:00 /application/sersync/bin/sersync2 -d -r -n 8 -o /application/sersync/conf/confxml.xml

root 2065 1 0 12:14 ? 00:00:00 /application/sersync/bin/sersync2 -d -r -n 8 -o /application/sersync/conf/confxml.xml

root 2108 1 0 12:18 ? 00:00:00 /application/sersync/bin/sersync2 -d -r -n 8 -o /application/sersync/conf/confxml.xml

root 2126 1 0 12:19 ? 00:00:00 /application/sersync/bin/sersync2 -d -r -n 8 -o /application/sersync/conf/confxml.xml

root 2176 1 0 12:23 ? 00:00:00 /application/sersync/bin/sersync2 -d -r -n 8 -o /application/sersync/conf/confxml.xml

root 2252 1 0 12:26 ? 00:00:00 /application/sersync/bin/sersync2 -d -r -n 8 -o /application/sersync/conf/confxml.xml

root 2334 1 0 12:27 ? 00:00:00 /application/sersync/bin/sersync2 -d -r -n 8 -o /application/sersync/conf/confxml.xml

7、加入到开机自启动服务中:

echo ‘/application/sersync/bin/sersync2 -d -r -n 8 -o /application/sersync/conf/confxml.xml’ >/etc/rc.local

猜你喜欢

转载自www.cnblogs.com/LiuChang-blog/p/12315015.html