zoukankan      html  css  js  c++  java
  • linux实现实时同步服务

    一、rsync服务搭建

      1.1、安装rsync软件

      命令:yum -y install rsync

    1 yum -y install rsync

     

     1.2、修改rsync配置文件

     1  uid = rsync                      #备份目录的属主
     2  gid = rsync                      #备份目录的属组
     3  use chroot = no                    #root不转变身份
     4  fake super = yes                   #伪超级管理员身份
     5  max connections = 200                #最大连接数200
     6  pid file = /var/run/rsyncd.pid           #pid文件位置
     7  lock file = /var/run/rsyncd.lock          #lock文件位置
     8  log file = /var/log/rsyncd.log           #rsync的日志文件
     9  #transfer logging = yes
    10  timeout = 300                     #超时时间300秒
    11  ignore errors                     #发生错误忽略继续备份
    12  read only = false                  #可读可写
    13  list = false                     #不允许查看模块信息列表
    14  hosts allow = 192.168.0.9/24            #白名单
    15  hosts deny = 0.0.0.0/32               #黑名单
    16  auth users = rsync_backup              #连接rsync服务器的认证用户
    17  secrets file = /etc/rsync.password        #连接rsync服务器的密码文件,用于免交互连接rsync服务器
    18 #ignore nonreadable = yes
    19  [backup]                       #模块名称,用于指定备份目录位置。rsync备份时只需要指定模块名称即可,就可以将分、备份保存在备份目录中
    20         path = /backup                #指定备份目录位置

     1.3、创建备份目录和修改备份目录的属组属主

    1 [root@backupserver /]# mkdir -p /backup
    2 [root@backupserver /]# chown -R rsync:rsync /backup/
    3 [root@backupserver /]# ll |grep backup
    4   drwxr-xr-x    2 rsync rsync    6 Jan 20 16:43 backup [root@backupserver /]# 
    5 [root@backupserver /]# 
    6 [root@backupserver /]# 
    7 [root@backupserver /]# vim /etc/rsync.password
    8   rsync_backup:admin1234

     1.4、启动rsync服务和设置开机自启动

    1 [root@backupserver /]# systemctl start rsyncd
    2 [root@backupserver /]# systemctl enable rsyncd
    3 Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to /usr/lib/systemd/system/rsyncd.service.
    4 [root@backupserver /]# 
    5 [root@backupserver /]# 

     1.5、客户端验证rsync服务是否可用

    客户端配置:

      1.5.1、安装rsync软件

      命令:yum -y install rsync

      1.5.2、创建密码文件,避免交互  

    1 [root@webserver etc]# vim rsync.password 
    2 
    3 admin1234

       1.5.3、测试rsync备份

    命令:

    1 [root@webserver etc]# rsync -avz /etc/passwd rsync_backup@192.168.0.11::backup --password-file=/etc/rsync.password    #备份命令
    2 sending incremental file list
    3 passwd                                                  #传输的文件名称
    4 
    5 sent 616 bytes  received 43 bytes  1,318.00 bytes/sec
    6 total size is 1,310  speedup is 1.99
    7 [root@webserver etc]# 

    命令详解:
    -avz:-a这是一个复合参数,这个具体需要自己去了解,-v:可视化,将备份传输的过程和结果显示在终端,-z:传输时进行压缩
    /etc/passwd:要被备份的文件或者目录
    rsync_backup:rsync服务器中配置文件中的认证用户
    @:连接符,没有特殊作用
    192.168.0.11:rsync服务器的IP地址
    ::backup :rsync服务器中配置文件中的模块名称,主要用于指定备份目录
    --password-file:指定密码认证文件,里面存储了rsync连接的认证密码。用于免交互连接rsync服务器

    上图表示rsync配置成功。

    二、inotify服务搭建

    2.1、下载安装inotify-tools软件

     

    2.2、执行inotifywait命令监控需要备份的目录

      其实这里只需要安装inotify-tools软件即可,因为后面的sersync服务会启用inotify软件。那这里就只把命令写出来

    命令:inotifywait -mrq /mnt -e create

    1 inotifywait -mrq /mnt -e create
    命令详解:
    -m:持续监控
    -r:递归,包括监控子目录的变化
    -q:尽量在终端少输出信息
    -e:指定监控的动作,包括创建,删除,修改等。

     三、sersync服务搭建

    3.1、下载安装sersync软件

      下载地址:https://github.com/wsgzao/sersync/archive/master.zip

      命令:

    [root@webserver src]# wget https://github.com/wsgzao/sersync/archive/master.zip
    [root@webserver sersync]# cd /usr/local/src/
    [root@webserver src]# unzip master.zip 
    Archive:  master.zip
    e6e4cda2583a73a5581d7015255838b5e68673c6
       creating: sersync-master/
      inflating: sersync-master/.gitattributes  
      inflating: sersync-master/.gitignore  
      inflating: sersync-master/README.md  
      inflating: sersync-master/inotify-tools-3.14.tar.gz  
     extracting: sersync-master/rsync-3.1.1.tar.gz  
      inflating: sersync-master/sersync2.5.4_64bit_binary_stable_final.tar.gz  
    [root@webserver src]# cd sersync-master/
    [root@webserver sersync-master]# tar -xvzf sersync2.5.4_64bit_binary_stable_final.tar.gz 
    GNU-Linux-x86/
    GNU-Linux-x86/sersync2
    GNU-Linux-x86/confxml.xml
    [root@webserver sersync-master]# mkdir/usr/local/sersync
    [root@webserver sersync-master]# mv GNU-Linux-x86/* /usr/local/sersync/
    [root@webserver sersync-master]# cd /usr/local/sersync/
    [root@webserver sersync]# ls confxml.xml sersync2

    3.2、修改配置文件/usr/local/sersync/confxml.xml

     3.3、启动sersync服务

    命令:

    [root@webserver sersync]# /usr/local/sersync/sersync2 -rdo /usr/local/sersync/confxml.xml >/usr/local/sersync/rsync.log 2>&1 &     #启动sersync服务
    [1] 13151
    [root@webserver sersync]# 

    命令详解:
    -r:在监控前将需要备份的目录里面的内容推送到备份目录中,确保数据的统一性
    -d:以守护进程运行
    -o:指定sersync的配置文件
    $:最后一个&试讲sersync进程放到后台进行

    3.4、查看和验证实时同步

     

     上面两个图可以看出两台服务器备份内容已经一致,接下来看是否能实时同步

  • 相关阅读:
    Seaborn相关
    Matplot相关(二)——统计图
    PAT 甲级真题
    数学题一
    Codeforces Round #467 (Div. 2)
    国庆 Day1
    [NOIP 2005] 运输计划
    dp专题练习
    YBT 2.4 AC自动机
    [模板]树链剖分
  • 原文地址:https://www.cnblogs.com/mython/p/12218772.html
Copyright © 2011-2022 走看看