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/

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

最新文章

  1. angularjs-$http.post请求传递参数,后台Controller接受不到原因
  2. 清理C盘系统垃圾文件-批处理方式
  3. 开发中常用js记录(二)
  4. ICA
  5. 解决Unable to reach a settlement: [diffie-hellman-group1-sha1, diffie-hellman-group-exchange-sha1] and [curve25519-sha256@li
  6. 使用butterknife zelezny插件时必须保证已导入butterKnife的库工程。
  7. loadrunner录制时弹出invalid application path!please check if application exists对话框
  8. webdriver(python)学习笔记五——层级定位
  9. hadoop错误Could not obtain block blk_XXX_YYY from any node:java.io.IOException:No live nodes contain current block
  10. 【宽搜】【并查集】Vijos P1015 十字绣
  11. poj2425--A Chess Game
  12. javascript设计模式——Publish/Subscribe
  13. Import MySQL Dumpfile, SQL Datafile Into My Database
  14. 区块链 PoW 与 PoS 的纷争
  15. qt 多语化
  16. onmouseover与onmouseenter区别
  17. 使用VS2015编译xlslib库
  18. 01-学习vue前的准备工作
  19. halcon电路断裂检测
  20. MongoDB设计系列

热门文章

  1. 搭建LAMP环境部署Ecshop电商网站
  2. zabbix监控之邮件报警通知
  3. linux 进程信号集合 sigset_t -(转自linengeir的专栏)
  4. 利用redis未授权访问漏洞(windows版)
  5. 上传靶机实战之upload-labs解题
  6. windows下nginx配合nodejs进行反向代理
  7. MPC算法
  8. 特斯拉Tesla Model 3整体架构解析(下)
  9. 整理AI性能指标
  10. GVS灵动系列家族上新 | 稳住,我们能“银”