• sersync+rsync实时同步备份部署流程


    sersync+rsync实时同步备份部署流程

    第一个里程:下载sersync应用软件

    下载地址:https://github.com/wsgzao/sersync
    将软件上传到服务器
    #解压软件,并把解压好的文件放到本地的安装目录中
    [root@nfs01 data]# cd /tools/
    [root@nfs01 tools]# unzip sersync-master.zip
    [root@nfs01 tools]# cd sersync-master
    [root@nfs01 sersync-master]# tar zxf sersync2.5.4_64bit_binary_stable_final.tar.gz 
    [root@nfs01 sersync-master]# mv GNU-Linux-x86/ /usr/local/sersync
    

    第二个里程:安装rsync服务

    部署服务端:
    1.检查是否安装rsync服务
    rpm -qa |grep rsync
    
    2.编写主配置文件
    vim /etc/rsyncd.conf
    #全局配置,在全局生效
    uid = rsync -->指定rsync服务运行的时候,向磁盘读取和写入的操作者
    gid = rsync -->指定rsync服务运行的时候,向磁盘读取和写入的操作者
    use chroot = no -->进行数据同步存储时,安全相关参数,默认内网进行数据同步时,可以关闭
    max connections = 200 --> 定义向备份服务器进行数据存储的并发连接数
    timeout = 300 --> 定义与备份服务器建立的网络连接,在多长时间没有数据传输时,就释放连接
    pid file = /var/run/rsyncd.pid --> 服务程序运行时,会将进程的pid信息存储到一个指定的pid文件中
    lock file = /var/run/rsync.lock --> 定义锁文件,主要用于配合max connections 参数,当达到最大连接就禁止继续访问
    log file = /var/log/rsyncd.log --> 定义服务的日志文件保存路径信息
    ignore errors --> 在进行数据备份传输过程过程中,忽略一些I/O产生的传输错误
    read only = false --> 设置对备份的目录的具有读写权限,即将只读模式进行关闭
    list = false --> 确认是否可以将服务配置的模块信息,在客户端可以查看显示
    hosts allow = 172.16.1.0/24 --> 设置备份目录允许进行网络数据备份的主机地址或网段信息,即设置白名单
    hosts deny = 0.0.0.0/32 --> 设置备份目录禁止进行网络数据备份的主机地址或网段信息,即设置黑名单
    auth users = rsync_backup --> 指定访问备份数据目录的认证用户信息,为虚拟定义的用户,不需要进行创建
    secrets file = /etc/rsync.password --> 设置访问备份数据目录进行认证用户的密码文件信息,会在文件中设置认证用户密码信息
    #局部配置,只在模块内生效
    [backup] --> 指定备份目录的模块名称信息
    comment = "backup dir by oldboy" --> 模块说明信息
    path = /backup --> 指定数据进行备份的目录信息
    
    3.创建备份管理用户
    useradd -M -s /sbin/nologin rsync
    
    4.创建备份目录,并将所属主与所属组改成rsync用户
    mkdir /backup
    chown rsync. /backup
    
    5.创建用户认证文件,编写认证用户和密码信息,设置文件权限为600
    echo 'rsync_backup:123' >> /etc/rsync.password
    chmod 600 /etc/rsync.password
    
    6.启动rsync守护进程服务
    rsync --daemon
    
    部署客户端:
    1.检查是否安装rsync服务
    rpm -qa |grep rsync
    
    2.创建认证文件,编写认证用户密码,设置文件权限为600
    echo '123' >> /etc/rsync.password
    chmod 600 /etc/rsync.password
    
    3.利用客户端进行数据同步测试
    [root@nfs01 /]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::back
    up --password-file=/etc/rsync.password sending incremental file list
    hosts
    

    第三个里程:修改配置文件

    [root@nfs01 sersync-master]# vim /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="true"/>
         <fileSystem xfs="false"/>
        <!-- 说明:实现同步数据过滤排除功能 -->
         <filter start="false">
         <exclude expression="(.*).svn"></exclude>
        <exclude expression="(.*).gz"></exclude>
        <exclude expression="^info/*"></exclude>
        <exclude expression="^static/*"></exclude>
         </filter>
        <!-- 说明:类似于inotify的-e参数功能,指定监控的事件信息 -->
         <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"> <!-- 这里填写服务器A要同步的文件夹路径-->
         <remote ip="172.16.1.41" name="backup"/> <!-- 这里填写备份服务器的IP地址和模块名-->
         <!--<remote ip="192.168.28.39" name="tongbu"/>-->
         <!--<remote ip="192.168.28.40" name="tongbu"/>-->
         </localpath>
         <rsync>
         <commonParams params="-az"/>
         <auth start="true" users="rsync_backup" passwordfile="/app/local/sersync/user.password"/> <!-- rsync+密码文件 这里填写备份服务器的认证信息-->
         <userDefinedPort start="false" port="874"/><!-- port=874 -->
         <timeout start="false" time="100"/><!-- timeout=100 -->
         <ssh start="false"/>
         </rsync>
         <failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once--><!-- 修改失败日志记录(可选)-->
         <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="/home/demo">
         <deshost ip="210.36.158.xxx" port="8009"/>
         </localpath>
         </plugin>
         <plugin name="refreshCDN">
         <localpath watch="/data0/htdocs/cdn.markdream.com/site/">
         <cdninfo domainname="cdn.chinacache.com" port="80" username="xxxx" passwd="xxxx"/>
         <sendurl base="http://cdn.markdream.com/cms"/>
         <regexurl regex="false" match="cdn.markdream.com/site([/a-zA-Z0-9]*).cdn.markdream.com/images"/>
         </localpath>
         </plugin>
    </head>
    

    第四个里程:启动sersync服务,并进行测试

    [root@nfs01 sersync-master]# /usr/local/sersync/sersync2 -dro /usr/local/sersync/confxml.xml
    #存储服务器
    [root@nfs01 sersync-master]# cd /data
    [root@nfs01 data]# ls |wc -l
    101
    [root@nfs01 data]# rm -rf *
    [root@nfs01 data]# ls |wc -l
    0
    #备份服务器
    [root@backup backup]# ls |wc -l
    101
    [root@backup backup]# ls |wc -l
    101
    [root@backup backup]# ls |wc -l
    0
    
    sersync启动参数说明
    参数-d:启用守护进程模式
    参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍(测试)
    参数-n:指定开启守护线程的数量,默认为10个
    参数-o:指定配置文件,默认使用confxml.xml文件
    
  • 相关阅读:
    收集一些特殊的符号
    腾讯笔试有感
    Lazy Load, 延迟加载图片的 jQuery 插件
    腾讯实习生笔试题
    IE捉迷藏bug详解(躲猫猫)
    使用SQL Server 2000 全文检索
    一篇比较不错的关于masterpage的文章
    ASP.NET中对表单输入行有选择验证
    在WSS中高亮显示搜索结果
    WebPart安装位置对FrontPager的影响
  • 原文地址:https://www.cnblogs.com/yjiu1990/p/10508717.html
Copyright © 2020-2023  润新知