zoukankan      html  css  js  c++  java
  • Lsyncd+Rsync实现实时同步

    1、lsyncd基于rsync,且要求rsync >= 3.1,可输入rsync -v查看当前版本,如果不符合要求,可以升级rsync版本,两台服务器A/B均要安装rsync。
    #查看当前rsync版本

    rsync -v
    #如果版本太低,直接卸载
    yum -y remove rsync
    #下载rsync源码
    wget https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz
    #解压
    tar -zxvf rsync-3.1.2.tar.gz
    #进入目录
    cd rsync-3.1.2
    #编译安装
    ./configure
    make install
    #查看是否升级成功
    rsync -v
    2、设置密钥登录
    如果想要将A的数据同步到B,A必须拥有免密码登录B的权限,可以设置密钥登录来完成。只需要两条命令即可,下面的命令在A服务器执行:

    #A生成密钥文件
    ssh-keygen -t rsa
    #将公钥拷贝到B
    ssh-copy-id username@remote-server
    #测试
    ssh username@remote-server
    username为B服务器用户名,remote-server为B服务器IP地址,如果服务器不是使用的22作为SSH端口,需要-p参数指定端口号

    3、安装epel仓库
    CentOS 7内置的源并没有包括Lsyncd,可以自行编译安装Lsyncd,不过更简单的办法是先安装epel源,就可以直接yum安装了,以下命令再A服务器执行。

    yum -y install epel-release

    4、安装lsyncd并配置
    如果已经安装了epel仓库,直接输入下面的命令安装lsyncd即可,一下命令在A服务器执行。

    #安装lsyncd
    yum -y install lsyncd
    #查看lsyncd版本
    lsyncd --version

    5、修改配置文件
    vim /etc/lsyncd.conf

    settings {
    logfile = "/var/log/lsyncd/lsyncd.log",
    statusFile = "/var/log/lsyncd/lsyncd.status",
    inotifyMode = "CloseWrite or Modify",
    maxProcesses = 10,
    maxDelays = 1,
    }

    sync {
    default.rsync,
    source = "/home/mongodb/dump", --需同步的目录
    target = "rsync_backup@192.168.15.210::0-160", --目标主机和待同步的目录
    delay = 1,
    rsync = {
    binary = "/usr/bin/rsync",
    password_file = "/etc/rsyncd.passwd",
    archive = true,
    compress = true,
    verbose = true
    }
    }

    继续输入命令lsyncd -nodaemon /etc/lsyncd.conf运行查看下是否有报错,如果有报错根据报错情况检查修改,如果没有报错直接退出后输入命令:systemctl start lsyncd启动lsyncd即可


    6、配置B上的rsync
    centos7上自带rsync,不需要再下载安装
    vim /etc/rsyncd.conf

    port=873
    address=192.168.15.210
    log file=/var/log/rsyncd.log
    pid file=/var/run/rsyncd.pid
    read only = no
    use chroot = true
    timeout = 300
    max connections = 4
    list = true
    dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z
    auth users = rsync_backup
    secrets file = /etc/rsyncd.passwd
    uid = root
    gid = root
    [15-177]
    path = /data2/15-177/yapi/
    hosts allow = 192.168.15.177

    创建同步文件存放的目录
    mkdir /data2/15-177/yapi/

    创建密码文件
    vim /etc/rsyncd.passwd
    rsync:123456

    为了密码的安全性,要把密码文件权限设为600
    chmod +x 600 /etc/rsyncd.passwd

    启动rsync
    /etc/init.d/rsyncd start

  • 相关阅读:
    C#在与java对接时候的UrlEncode的坑
    sql server 删除大量数据的一次坑爹之旅
    js实现黑客帝国文字下落效果
    第一个SignalR案例
    简单的放天灯动画
    计量单位符号的书写规范【转】
    阿里云OSS搭建移动应用直传服务的.Net C#示例
    UWP Windows10开发更新磁贴和动态更新磁贴
    UWP Windows10开发获取设备位置(经纬度)
    Asp.Net识别手机访问
  • 原文地址:https://www.cnblogs.com/tinycat/p/13522242.html
Copyright © 2011-2022 走看看