lsync安装配置(目录同步)

发布时间:2020-06-25 01:35:16 作者:qq5808174b4df6f
来源:网络 阅读:795

主机列表:
服务端:172.16.2.5/sense2 目标端:172.16.2.4/sense1
服务启动: /usr/bin/lsyncd /etc/lsyncd.conf
服务关闭:ps -ef |grep lsyncd |grep -v grep |awk '{print $2}'|xargs kill

lsyncd优势:官网及virbox发版每次都是发布两个节点,发版了sense2,同时手动执行scp同步文件到sense1对应目录下。使用lsyncd避免了scp,简化了发布流程,只需在sense2上发版即可,同时防止scp文件容易出错的情况。

1.服务端(sense2)安装:

yum install epel-release
yum install lsyncd

2.目标端(sense1)安装:
yum install rsync

3.服务端配置:

vim /etc/lsyncd.conf
settings  {
        logfile = "/var/log/lsyncd/lsyncd.log",  #日志文件
        status File = "/var/log/lsyncd/lsyncd.status", #状态文件
        inotifyMode = "CloseWrite or Modify",  #指定inotify监控事件
}

sync {
    default.rsyncssh,      #同步到远程主机目录,rsync的ssh模式,利用ssh传输,前提是服务端与目标端建立了信任关系。
    source = "/usr/share/nginx/html/",   #本地目录同步
    host = "172.16.2.5",   #远程主机
    targetdir = "/home/data/bakk/", #远程同步目录
    delay = 30, #等待rsync同步延时时间,也就是30s时间监控目录下发生的改动,会累积一次rsync同步。如30s对一个文件做两次更改,会同步第二次修改的。
    delete = true,   #保持target与source一致。默认参数。这个参数是在刚启动lsyncd的时候用到,启动后,在远程同步目录做增删改操作,也不会把本地目录相应的文件同步过去。
    rsync = {
         binary = "/usr/bin/rsync", 
         owner = true,   #保留服务端的属主
         group = true,   #保留服务端的属组
         perms = true,   #保留服务端的权限
        }
}

4.启动lsync:
/usr/bin/lsyncd /etc/lsyncd.conf

5.测试:

把sense2上的/usr/share/nginx/html同步到sense1/home/data/bakk中。实时的处于监听目录改变,有改变就同步。
把sense1上的同步目录和sense1的/usr/share/nginx/html文件做对比,文件是一致的。
对比方式:find ./bakk  -type f |xargs openssl md5 | awk -F "=" '{print $2}'  >a.txt  
find /usr/share/nginx/html   -type f |xargs openssl md5 | awk -F "=" '{print $2}'  >b.txt   
diff a.txt  b.txt

参考文档:https://axkibe.github.io/lsyncd/manual/invoking/
https://www.cnblogs.com/zxci/p/6243574.html

推荐阅读:
  1. rsync远程同步(定期同步,实时同步实战!)
  2. 二、grains、pillar、安装配置httpd、配置管理文件、配置管理目录

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

lsync 安装配

上一篇:.net获取客户端信息(三)ashx部分--面向对象

下一篇:k8s之helm

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》