rsync+sersync实现实时监控备份同步

rsync+sersync简介

sersync是基于inotify开发的,类似于inotify-tools的工具。所以同样内核需先支持inotify,才能搭建。

sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或者某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的文件或者目录。

搭建环境:2台Linux(centos 7)

nfs备份共享服务器(源服务器)ip:172.16.2.3(已安装rsync)

rsync备份服务器(目标服务器)ip:172.16.2.4(已搭建完成rsync配置)

目的:通过sersync对nfs服务器的/www目录进行监控,如有改动,则自动备份同步至rsync备份服务器的/backup/web目录。

sersync的安装

sersync是国人一位大佬开发的,没法直接yum安装。没有官网,不用去找(有的话也是第三方自己弄的)。
直接在github上开源发布,有托管在google code上。所以安装需要自己下载安装,

google code地址:https://code.google.com/archive/p/sersync/
github地址:https://github.com/wsgzao/sersync

国内如果访问不了,可能要科学上网。不过国内也有很多资源自己找来下载。目前最新版为2011年更新的2.5.4版本,已停止更新。

在nfs服务器上ip:172.16.2.3下载,直接在google code下载,或者其他地方下载下来上传至服务器

1:下载至本地

wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/sersync/sersync2.5.4_64bit_binary_stable_final.tar.gz

2:解压得到文件夹并移动改名

tar -zxvf sersync2.5.4_64bit_binary_stable_final.tar.gz

移动到/usr/local并改名sersync(自行选择目录)

mv GNU-Linux-x86 /usr/local/sersync

3:进入目录并修改xml配置文件
进入

cd /usr/local/sersync #进入sersync安装目录
cp confxml.xml confxml.xml-bak #备份原文件
vi confxml.xml #编辑,修改下面的代码

配置内容修改几个地方:相关信息在自己rsync备份服务器的配置文件/etc/rsyncd.conf可见。

原配置文件如下:

#服务器ip,文件路径及模块名设置
<localpath watch="/opt/tongbu">
#这里填写nfs存储服务器(源服务器)要同步的文件夹路径。

<remote ip="127.0.0.1" name="tongbu1"/>
#这里填写rsync备份服务器(目标服务器)的IP地址和模块名,可配置多个服务器
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>

#认证部分(rsync密码认证)
<rsync>
<auth start="false" users="root" passwordfile="/etc/rsync.pas"/>
#启用密码认证,配置auth users+密码文件路径,rsync备份服务器的认证信息。
</rsync>

#修改同步失败日志位置,并且每60分钟对失败的log进行重新同步(可选配置,非必需)
<failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->

修改后的相关配置如下:

<sersync>
<localpath watch="/www">
<remote ip="172.16.2.4" name="backup"/>
</localpath>
<rsync>
<commonParams params="-artuz"/>
<auth start="true" users="rsync_backup" passwordfile="/etc/rsync.password"/>
<userDefinedPort start="false" port="874"/><!-- port=874 -->
<timeout start="false" time="100"/><!-- timeout=100 -->
<ssh start="false"/>
</rsync>
<failLog path="/var/log/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->

注意:希望各位英语水平都比我好,我把true写成ture后,直接卡死,找半天错误才找,千万不能写错。

4:开启sersync守护进程同步数据并测试程序

开启sersync进程:

/usr/local/sersync/sersync2 -d -r -o /usr/local/sersync/confxml.xml

参数用法:
-d:启用守护进程模式
-r:在监控前,将监控目录与远程主机用rsync命令推送一遍
-n: 指定开启守护线程的数量,默认为10个
-o:指定配置文件,默认使用confxml.xml文件

开启成功,不成功则卡死:

rsync+sersync实现实时监控备份同步

在nfs服务器/www目录创建6个文件

touch {1..6}.txt
在rsync备份服务器/back/web查看是否同步过来

ll /backup/web
同步成功,配置完成!!

5:配置sersync环境变量并开机启动
配置环境变量

echo"PATH=$PATH:/usr/local/sersync/">>/etc/profile
source /etc/profile

配置环境变量,配置好后,在命令行可直接输入命令:

sersync2 -d -r -o /usr/local/sersync/confxml.xml

将命令添加到/etc/rc.local,实现开机启动:

echo '/usr/local/sersync/sersync2 -d -r -o /usr/local/sersync/conf/confxml.xml' >> /etc/rc.local
注:如果开机启动无效,是sersync2没有执行权限,给/usr/local/sersync/sersync2赋予执行权限即可

以上全部配置完成!!

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/7806

(0)
郭靖的头像郭靖
上一篇 2023年3月29日 下午4:23
下一篇 2023年3月31日 下午3:44

相关推荐

  • Kswapd0挖矿病毒查杀

    机器负载异常,刚重启过后CPU占用就快速上升至接近100%,且存在网络滥用的情况。使用top显示kswapd0进程疯狂占用cpu,google后有人说是linux虚拟内存的问题,但是系统刚开机,内存基本空闲,只是cpu疯狂被占用,这种说法明显有问题,继续排查后,我发现这个程序和一个名叫WachtdogsMiner的挖矿蠕虫和两个荷兰IP有关 查找病毒 使用t…

    2022年6月25日
    1.6K00
  • 二进制部署Mysql8.0.31

    二进制部署Mysql8.0.31 一、软件包下载 企业版:Enterprise , 互联网行业一般不选择. 社区版本:选择 源码包 编译安装: source code .tar.gz 通用二进制 公司用什么版本数据库? 具体什么小版本号? 5.6.20 5.6.34 5.6.36 5.6.38 5.6.40 5.7.18 5.7.20 5.7.22 5.7.…

    2023年1月20日
    1.4K00
  • VMware 虚拟机里连不上网的五种解决方案

    大家好,又见面了,我是你们的朋友全栈君。 在VMware虚拟机里的虚拟机系统连接不上网络 首先,注意查看适配器选项里的网络连接这两个网络连接是否存在,如果不存在可以重新装一下VM 如果存在,连不上网 解决办法一: 虚拟机设置里,找到“网络适配器”,右边的网络连接选择“NAT 模式”,如果不行的话再 linux系统。还是不行的话接着看第二种解决方案。 解决方法…

    2024年6月28日
    4.1K00
  • HBase 高可用集群详细图文安装部署

    一、HBase 安装部署 1.1 Zookeeper 正常部署 首先保证 Zookeeper 集群的正常部署,并启动之。 1.2 Hadoop 正常部署  Hadoop 集群的正常部署并启动。 1.3 HBase 安装  HBase 官方下载地址:Apache Download Mirrors 1.4 HBase 的配置文件  1.4.1 hbas…

    2023年12月15日
    1.3K00
  • CentOS图形化界面和命令行界面的转化–超详细(Linux操作系统)

    对于我这样的小白来说,Linux系统的图形化界面更加简单,但是Linux命令行才是精髓,如何进行转化呢? 1、快捷键方式切换(较为简单) 图形化界面转化成命令行界面  ctrl+alt+F3 命令行界面转化为图形化界面 ctrl+alt+F1 2、命令行形式切换切换成命令行模式: systemctl set-default mu…

    2023年12月13日
    1.9K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信