zoukankan      html  css  js  c++  java
  • [linux] lsyncd同步工具

     环境说明:

    192.168.56.101 同步源
    192.168.56.102 同步目标
    操作系统centos 7
    lsyncd项目地址:https://github.com/axkibe/lsyncd
    

      1.源主机root用户运行同步程序,backup用户验证目标主机;如果不想配密钥验证,同样支持密码验证,在运行时(nodaemon)提示输入或者在配置文件定义password_file参数。

    生成密钥对(略),目标主机添加公钥,注意.ssh和密钥的属主权限,以下xxx、yyy不要直接抄,填写你正确的密钥信息。
    [root@192.168.56.102 ~]# echo "yyy" > /home/backup/.ssh/authorized_keys
    
    源主机添加私钥
    [root@192.168.56.101 ~]# echo "xxx" > /root/.ssh/backup_rsa
    [root@192.168.56.101 ~]# chmod 600 /root/.ssh/backup_rsa
    验证登录
    [root@192.168.56.101 ~]# ssh -i /root/.ssh/backup_rsa backup@192.168.56.102

      2.源主机安装lsyncd,修改配置文件

    安装lsyncd之前先安装epel-release
    [root@192.168.56.101 ~]# yum install -y lsyncd
    [root@192.168.56.101 ~]# rpm -qa | grep lsyncd
    lsyncd-2.2.2-1.el7.x86_64
    [root@192.168.56.101 ~]# cat /etc/lsyncd.conf 
    ----
    -- User configuration file for lsyncd.
    --
    -- Simple example for default rsync, but executing moves through on the target.
    --
    -- For more examples, see /usr/share/doc/lsyncd*/examples/
    -- 
    settings {
      logfile    = "/var/log/lsyncd.log",
      statusFile = "/var/log/lsyncd.status",
    }
    
    sync {
      default.rsyncssh,
      source     = "/data/web/web1",
      host       = "backup@192.168.56.102",
      targetdir  = "/data/backup/web/web1",
      -- 10秒同步一次,默认15秒
      delay      = 10,
      rsync = {
        archive  = true,
        compress = true,
        verbose  = true,
        rsh      = "ssh -o StrictHostKeyChecking=no -i /root/.ssh/backup_rsa",
      }
    }
    
    sync {
      default.rsync,
      source     = "/data/web/web2",
      target     = "backup@192.168.56.102:/data/backup/web/web2",
      rsync = {
        archive  = true,
        compress = true,
        verbose  = true,
        rsh      = "ssh -o StrictHostKeyChecking=no -i /root/.ssh/backup_rsa",
        --_extra   = {"-e","ssh -o StrictHostKeyChecking=no","-e ssh -i /root/.ssh/backup_rsa"}
      }
    }

      3.源主机启动服务,看日志,目标主机检查文件同步

    [root@192.168.56.101 ~]# systemctl start lsyncd
    

    单源多目标需求可参考

    https://www.stephenrlang.com/2015/12/how-to-install-and-configure-lsyncd/

      1.单目录同步到多机器:

    源主机目录/data/web/sh.your.com同步到多机器
    172.16.2.104:/data/web/sh.your.com
    172.16.2.105:/data/web/sh.your.com
    

      2.多目录同步到相同机器:

    源主机多目录
    /data/web/resource.your.com
    /data/web/www.your.com
    同步到相同机器
    172.16.2.99:/data/backup/web/resource.your.com
    172.16.2.99:/data/backup/web/www.your.com
    [root@HD1g-static-website ~]# cat /etc/lsyncd.conf 
    ----
    -- User configuration file for lsyncd.
    --
    -- Simple example for default rsync, but executing moves through on the target.
    --
    -- For more examples, see /usr/share/doc/lsyncd*/examples/
    -- 
    settings {
      logfile    = "/var/log/lsyncd.log",
      statusFile = "/var/log/lsyncd.status",
    }
    
    servers = {
      "backup@172.16.2.104",
      "backup@172.16.2.105",
    }
    for _, server in ipairs(servers) do
    sync {
      default.rsyncssh,
      source     = "/data/web/sh.your.com",
      host       = server,
      targetdir  = "/data/web/sh.your.com",
      delay      = 5,
      rsync = {  
        archive  = true,
        compress = true,
        verbose  = true,
        rsh      = "ssh -o StrictHostKeyChecking=no -i /root/.ssh/backup_rsa",
      }
    }
    end
    
    sites = {
      "resource.your.com",
      "www.your.com",
    }
    for _, site in ipairs(sites) do
    sync {
      default.rsyncssh,
      source     = "/data/web/" .. site,
      host       = "backup@172.16.2.99",
      targetdir  = "/data/backup/web/" .. site,
      delay      = 300,
      rsync = {
        archive  = true,
        compress = true,
        verbose  = true,
        rsh      = "ssh -o StrictHostKeyChecking=no -i /root/.ssh/backup_rsa",
      }
    }
    end
    

      

  • 相关阅读:
    MS CRM 2011 RC中的新特性(4)——活动方面之批量编辑、自定义活动
    最近的一些有关MS CRM 2011的更新
    MS CRM 2011 RC中的新特性(6)——连接
    MS CRM 2011 RC中的新特性(7)—仪表板
    参加MS CRM2011深度培训课程——第一天
    MS CRM 2011插件调试工具
    MS CRM2011实体介绍(四)——目标管理方面的实体
    MS CRM 2011 RC中的新特性(3)——客户服务管理方面
    MS CRM 2011 RC中的新特性(8)—数据管理
    ExtAspNet 登陆
  • 原文地址:https://www.cnblogs.com/hjfeng1988/p/8919679.html
Copyright © 2011-2022 走看看