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/
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
7、resync实时备份的更多相关文章
- 通过rsync+inotify实现数据的实时备份
我讲到过利用rsync实现数据的镜像和备份,但是要实现数据的实时备份,单独靠rsync还不能实现,本文就讲述下如何实现数据的实时备份. 一.rsync的优点与不足 与传统的cp.tar备份方式相比,r ...
- 工作随笔——使用svnsync实时备份SVN版本库
前段时间把SVN版本库从win迁移到了Linux上,没隔几天那台win的磁盘就严重坏道了....这TMD什么运气! 花费了点时间研究了下svn自己的同步工具.写个日志记录下. 注意:svnsync要求 ...
- gitlab实时备份方案(非官方命令)
gitlab自带的备份功能做不到实时备份,为了尽可能减少意外情况导致的丢失数据,自己搞了一个实时备份的功能. 备份的大头主要是两部分,数据库和代码库.数据库由DBA配置主备. 仓库经过测试,通过lsy ...
- ansible-playbook 实战案例 全网备份 实时备份
目录 ansible-playbook 基础介绍 1.YAML三板斧 2. ansible playbook 安装apache 示例 案例 全网备份 实时备份 环境规划 目录规划 base.yaml ...
- rsync 远程同步 实时同步备份 两种免交互的方式实现实时备份
rsync 远程同步: 一款快速增量备份工具 Remote Sync,远程同步 支持本地复制,或者与其他SSH.rsync主机同步 作用:做数据备份 备份方式: 完全备份 增量备份 ...
- 实现MySQL数据库的实时备份
实现MySQL数据库的实时备份 使用MySQL Replication 吴剑 2018-08-03 原创文章,转载必需注明出处:http://www.cnblogs.com/wu-jian 吴剑 ht ...
- 实时备份工具之inotify+rsync
1.inotify简介 inotify 是一个从 2.6.13 内核开始,对 Linux 文件系统进行高效率.细粒度.异步地监控机制, 用于通知用户空间程序的文件系统变化.可利用它对用户空间进行安全. ...
- ITDB系统搭建及实时备份
ITDB系统搭建及实时备份 ITDB简介 ITDB一款来自希腊的开源IT资产管理系统,它是基于Web的IT资产信息管理系统.对于那些IT设备较多而又缺少管理IT资产信息工具的公司,ITDB是一个不错的 ...
- 通过rsync+inotify实现数据的实时备份(多台备份机)
在前面的博文中,我讲到过利用rsync实现数据的镜像和备份,但是要实现数据的实时备份,单独靠rsync还不能实现,本文就讲述下如何实现数据的实时备份. 一.rsync的优点与不足 与传统的cp.ta ...
随机推荐
- JavaScript中的运算符和语句
一.JavaScript的运算符 a.基本的算术运算符(+.-.*./.%) -.*./.%运算符会在必要的时候将操作数转换为数字,无法转换成数字的操作数将会转换成NaN,相应的运算结果也是NaN. ...
- xsos:一个在Linux上阅读SOSReport的工具
xsos:一个在Linux上阅读SOSReport的工具 时间 2019-05-23 14:36:29 51CTO 原文 http://os.51cto.com/art/201905/596889 ...
- Linux中find命令用法全汇总,看完就没有不会用的!
Linux中find命令用法全汇总,看完就没有不会用的! 中琦2513 马哥Linux运维 2017-04-10 糖豆贴心提醒,本文阅读时间7分钟 Linux 查找命令是Linux系统中最重要和最 ...
- MegaRAID BIOS设置阵列
MegaRAID BIOS设置阵列 1.在初始界面可以看到physical View的界面,或者在左侧的菜单栏中点击选中即可,可以看到物理磁盘. 2.点击上一步的配置向导可以进入到配置向导界面 3.选 ...
- 思考一个问题STM32的
如果一个定时中断刚刚进入中断服务函数 但是服务函数执行时间太长 又一次触发了中断 会怎样
- uni-app 富文本解析-小程序
原文:http://www.upwqy.com/manual/info/105.html 1 引入插件 gaoyia-parse 链接:https://pan.baidu.com/s/1UusfXxH ...
- [leetcode] 69. x 的平方根(纯int溢出判断实现)
69. x 的平方根 非常简单的一个题,用二分法逼近求出ans即可,额外注意下溢出问题. 不过我要给自己增加难度,用long或者BigNum实现没意思,只能使用int类型 换句话当出现溢出时我们自己得 ...
- nologin用户执行命令
使用su su -s 是指定shell,这里www用户是nologin用户,是没有默认的shell的,这里指定使用/bin/bash, -c 后面接需要运行的命令, 后面www是用www用户来运行 s ...
- ALD技术产品形态
ALD技术产品形态 原子层沉积研究设备 TFS 200是适合科学研究和企业研发的最灵活的ALD平台.倍耐克 TFS 200专门设计用于多用户研究环境中把可能发生的交叉污染降至最低. 大量的可用选项和升 ...
- 4D雷达成像技术
4D雷达成像技术 当我们谈及3D捕捉时,总是先想到光学传感器.当我们讨论在第四维度(时间)讨论视觉数据时,倾向于考虑场景数据调度.这些是我们多年来关注激光雷达(LiDAR)和摄影测量,以及用户针对缓慢 ...