栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

lsyncd同步

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

lsyncd /etc/lsyncd.conf

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

ps -ef | grep lsyncd





转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/613328.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号