lsyncd同步

##如果想要将服务端的数据同步到客服端,服务端必须拥有免密码登录客服端的权限,可以设置密钥登录来完成。只需要两条命令即可,下面的命令在服务端服务器执行:

#生成密钥文件

ssh-keygen -t rsa

#将公钥拷贝到客服端

ssh-copy-id root@客服端ip

#测试

ssh root@客服端ip

##如果客服端不是使用的22作为SSH端口,需要-p参数指定端口号


#安装epel源

yum -y install epel-release

#安装lsyncd

yum -y install lsyncd

#查看lsyncd版本

lsyncd --version

######################################################################
#vi /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/
-- 
-- sync{default.rsyncssh, source="/var/www/html", host="localhost", targetdir="/tmp/htmlcopy/"}
-- 

settings  {

    logfile = "/var/log/lsyncd/lsyncd.log", 
    statusFile = "/var/log/lsyncd/lsyncd.status", 
    maxProcesses = 1
}

sync {
        default.rsyncssh,
        source = "/usr/local/nginx.application",
        host = "192.168.1.1",
        targetdir = "/home/nginx.application",
        init = false,
        delay = 0,

        rsync  = {
                        binary    = "/usr/bin/rsync",
                        archive   = true,
                        compress  = true,
                        verbose   = true
        },

        ssh   = {
                        port  = 22000
    }
}

sync {
    default.rsync,
    source    = "/usr/local/nginx.application",
    target    = "/home/nginx.application",
    -- excludeFrom = "/etc/rsyncd.d/rsync_exclude.lst",
    rsync     = {
        binary    = "/usr/bin/rsync",
        archive   = true,
        compress  = true,
        verbose   = true
        }
    }

部分参数说明
settings为全局配置,部分参数如下:

ogfile 定义日志文件
stausFile 定义状态文件
nodaemon=true 表示不启用守护模式,默认
statusInterval 将lsyncd的状态写入上面的statusFile的间隔,默认10秒
inotifyMode 指定inotify监控的事件,默认是CloseWrite,还可以是Modify或CloseWrite or Modify
maxProcesses 同步进程的最大个数。假如同时有20个文件需要同步,而maxProcesses = 8,则最大能看到有8个rysnc进程
maxDelays 累计到多少所监控的事件激活一次同步,即使后面的delay延迟时间还未到

sync为同步配置,部分参数如下:

lsyncd以什么模式运行:rsync、rsyncssh、direct三种模式:
default.rsync :本地目录间同步,使用rsync,也可以达到使用ssh形式的远程rsync效果,或daemon方式连接远程rsyncd进程;
default.direct :本地目录间同步,使用cp、rm等命令完成差异文件备份;
default.rsyncssh :同步到远程主机目录,rsync的ssh模式,需要使用key来认证
nit 这是一个优化选项,当init = false,只同步进程启动以后发生改动事件的文件,原有的目录即使有差异也不会同步。默认是true
delay 累计事件,等待rsync同步延时时间,默认15秒(最大累计到1000个不可合并的事件)。也就是15s内监控目录下发生的改动,会累积到一次rsync同步,避免过于频繁的同步。(可合并的意思是,15s内两次修改了同一文件,最后只同步最新的文件)
delete 为了保持target与souce完全同步,Lsyncd默认会delete = true来允许同步删除。它除了false,还有startup、running值,
compress 压缩传输默认为true。在带宽与cpu负载之间权衡,本地目录同步可以考虑把它设为false
source:本地文件目录
host:远程服务器地址
targetdir:远程目标目录
port:目前主机SSH端口号,默认为22

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

lsyncd /etc/lsyncd.conf

从同步文件误删或被改,主同步关闭lsyncd,重启之后就恢复,因为已经被写死,重启之后全部跟主同步一样
killall lsyncd
systemctl  start lsyncd.service
#查看lsyncd服务进程

ps -ef | grep lsyncd

同步的文件一定不能有执行权限全部改成chmod 644 ./*
不改免密会失效






 新加节点要覆盖一次主同步,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值