精华内容
下载资源
问答
  • lsyncd

    2020-01-09 11:02:24
    lsyncd 实时同步 一、配置服务端 1.vim /etc/rsyncd.conf uid = rsync gid = rsync port = 873 fake super = yes use chroot = no max connections = 200 timeout = 300 pid file = /var/run/rsyncd.pid ...

    lsyncd 实时同步

    一、配置服务端

    1.vim /etc/rsyncd.conf

    uid = rsync
    gid = rsync
    port = 873
    fake super = yes
    use chroot = no
    max connections = 200
    timeout = 300
    pid file = /var/run/rsyncd.pid
    lock file = /var/run/rsync.lock
    log file = /var/log/rsyncd.log
    ignore errors
    read only = false
    list = false
    hosts allow = 172.16.1.0/24
    hosts deny = 0.0.0.0/32
    auth users = rsync_backup
    secrets file = /etc/rsync.password
    [backup]
    comment = "welcome to kk backup!"
    path = /backup
    
    [data]
    comment = "welcome to kk backup!"
    path = /data
    
    #创建密码文件
    
    2.echo "rsync_backup:1" > /etc/rsync.password
    
     创建虚拟rsync用户
    
    3.useradd -M -s /sbin/nologin rsync
    
    创建备份目录
    
    4.mkdir /backup 
    
     给目录属主属组rsync权限
    
    5.chown -R rsync.rsync /backup
    
    #### 启动服务
    6.sysetmcte start rsyncd 
    7.sysetmcte enable rsyncd
    

    服务端 lsyncd服务 实时同步

     1. yum install epel-release -y && yum install rsync lsyncd -y
     2. groupadd -g666 www && useradd -u666 -g666 www
     3. mkdir /{backup,data}
     4. chown -R www.www /{backup,data}
     5. vim /etc/lsyncd.conf
    
     settings {
     logfile = "/var/log/lsyncd/lsyncd.log",
     statusFile = "/var/log/lsyncd/lsyncd.status",
     inotifyMode = "CloseWrite",
     maxProcesses = 8,
    }
    
    sync {
     default.rsync,
     source = "/data",
     target = "rsync_backup@172.16.1.41::backup",
     delete= true,
     exclude = { ".*" },
     delay = 1,
    
    rsync = {
        binary = "/usr/bin/rsync",
        archive = true,
        compress = true,
        verbose = true,
        password_file = "/etc/lsyncd.passwd",
        _extra = {"--bwlimit=200"}                          --限速选项,单位MB,非常重要
        }                                                   --不配置可能会让内网中其他服务器炸了
    }
    
    
    [root@nfs01 data]#   echo '1' > /etc/lsyncd.passwd
    [root@nfs01 data]#   chmod 600 /etc/lsyncd.passwd
    [root@nfs01 data]#   lsyncd -nodaemon /etc/lsyncd.conf
    [root@nfs01 data]#   systemctl restart rsyncd lsyncd
    [root@nfs01 data]#   systemctl enable rsyncd lsyncd
    
    展开全文
  • Add Lsyncd

    2020-12-29 23:31:25
    I desided to post the request for adding Lsyncd as an issue. <p>Name: Lsyncd (Live Syncing Daemon) URL: https://code.google.com/p/lsyncd/ Category: File Storage & Sync OS: Linux / OS X ...
  • lsyncd+rsync

    2019-08-28 11:25:03
    lsyncd+rsync,多服务器之间的热备,文件权限同步,位置同步
  • lsyncd-sshd-源码

    2021-03-28 00:05:11
    使用Lsyncd和SSHD进行容器到容器同步 概括 此README.md将提供有关如何部署完整的Lsyncd和SSHD安装程序以在容器之间同步文件的指南。 先决条件 在继续执行build.sh脚本之前,请确保满足以下先决条件。 在本地安装的...
  • lsyncd服务器同步

    2019-06-11 11:33:30
    lsyncd 基本操作 启动 service lsyncd start 重启 service lsyncd restart 配置文件 /etc/lsyncd.conf setting部分 --: 注释, 因为是lua 语言,所以 --是注释 logfile : 指定lsyncd工具本身运行所产生的日志文件...

    lsyncd


    基本操作

    启动
    service  lsyncd start
    重启
    service  lsyncd restart
    配置文件
    /etc/lsyncd.conf
    

    setting部分
    --: 注释, 因为是lua 语言,所以 --是注释
    logfile       : 指定lsyncd工具本身运行所产生的日志文件存放位置
    statusFile    : 定义lsyncd监控目录状态文件的存放位置
    statusInterval    : 隔多少秒记录一次被监控目录的状态
    nodaemon=true     : 默认是不启用守护模式的
    inotifyMode      : 指定要监控的事件,如,CloseWrite,Modify,CloseWrite or Modify, 默认是CloseWrite
    maxProcesses     : 指定同步时进程的最大个数
    maxDelays     : 当事件被命中累计多少次后才进行一次同步
    sync部分
    default.rsync  : 指定lsyncd运行模式,另外,还有>default.direct,default.rsyncssh模式
    source      : 指定要监控的目录,务必全部用绝对路径
    target      : 要同步到的目标目录,一般为rsync服务端模块下指定的目录,说明: 'rsyncuser@192.168.10.20::bak' , 'rsyncuser':同步的用户在备服务器上设置 ,'192.168.10.20':备服务器地址, '::backup':模块名称,同步路径在备服务器上设置
    init        : 为false时表示只同步lsyncd进程启动以后发生改动事件的文件,否则,反之,默认为true
    delay       : 当命中的事件累计到多少时再触发同步
    exclude     : 通过此选项排除掉不需要同步的文件,可用它自己的正则进行匹配
    delete 为了保持target与souce完全同步,Lsyncd默认会delete = true来允许同步删除。它除了false,还有startup、running值,请参考 Lsyncd 2.1.x ‖ Layer 4 Config ‖ Default Behavior。
    delete = true  默认。 Lsyncd将在目标上删除不在源代码中的任何东西。在启动时以及在正常操作过程中被删除的内容
    delete = false Lsyncd不会删除目标上的任何文件。不在启动或正常运行。 (虽然可以覆盖)
    delete = 'startup' Lsyncd将在启动时删除目标上的文件,但不会进行正常操作。
    delete = 'running' Lsyncd在启动时不会删除目标上的文件,但会删除那些在正常操作期间被删除的文件
    
    作者:虚心的锄头
    链接:https://www.jianshu.com/p/808d173786c4
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
    

    配置举例

    31机器
     targetdir="/tmp/htmlcopy/"}
    settings {
            logfile = "/tmp/lsyncd.log",
            statusFile = "/tmp/lsyncd.status",
            statusInterval = 5,
            nodaemon = true
    }
    sync{default.rsyncssh, source="/mnt/html", host="172.16.0.30", targetdir="/mnt/html",exclude={"*.log","/api.kuaifa.tv/runtime/"},rsync = {owner = true, perms = true, group = true}}
    sync{default.rsyncssh, source="/usr/local/openresty/nginx/conf/vhost", host="172.16.0.30", targetdir="/usr/local/openresty/nginx/conf/vhost",exclude={}}
    30机器
    settings {
            logfile = "/tmp/lsyncd.log",
            statusFile = "/tmp/lsyncd.status",
            statusInterval = 5,
            nodaemon = true,
            insist = true,
    }
    sync{default.rsyncssh, source="/mnt/html", host="172.16.0.31", targetdir="/mnt/html",exclude={"*.log","/mnt/html/premoadx/runtime/","/mnt/html/premossp/runtime/","/mnt/html/testmossp/public/jdsync/","/mnt/html/testmossp/public/jdsyncall/"},rsync = {owner = true, perms = true, group = true}}
    sync{default.rsyncssh, source="/usr/local/openresty/nginx/conf/vhost", host="172.16.0.31", targetdir="/usr/local/openresty/nginx/conf/vhost",exclude={}}
    
    展开全文
  • 实时同步lsyncd

    2019-10-02 16:29:31
    实时同步lsyncd 1 lsyncd 1.1 lsyncd 简介 Lsyncd使用文件系统事件接口(inotify或fsevents)来监视对本地文件和目录的更改。Lsyncd将这些事件整理几秒钟,然后生成一个或多个进程以将更改同步到远程文件系统。...

    实时同步lsyncd

    1 lsyncd

    1.1 lsyncd 简介

    Lsyncd使用文件系统事件接口(inotify或fsevents)来监视对本地文件和目录的更改。Lsyncd将这些事件整理几秒钟,然后生成一个或多个进程以将更改同步到远程文件系统。
    默认同步方法是rsync Lsyncd是一种轻量级的实时镜像解决方案。Lsyncd相对容易安装,不需要新的文件系统或块设备。Lysncd不会妨碍本地文件系统性能,可以通过配置文件实现细粒度的自定义。自定义操作配置甚至可以从头开始编写,从shell脚本到用Lua语言编写的代码。

    1.2 环境准备

    rsync服务端:默认就有rsync无需安装
    lsyncd客户端:安装lsyncd软件


    在这里,备份服务器为服务端,存储服务器为客户端

    [root@nfs ~]#yum install -y lsyncd

    1.3 rsync配置文件

    backup配置文件

    [root@backup ~]#cat /etc/rsyncd.conf 
    uid = rsync
    gid = rsync
    port = 873
    fake super = yes
    use chroot = no
    max connections = 200
    timeout = 300
    pid file = /var/run/rsyncd.pid
    lock file = /var/run/rsync.lock
    log file = /var/log/rsyncd.log
    ignore errors
    read only = false
    list = false
    hosts allow = 172.16.1.0/24
    auth users = rsync_backup
    secrets file = /etc/rsync.password
    [backup]
    comment = "backup dir by oldboy"
    path = /backup

    1.4 创建虚拟用户rsync

    id rsync        #查看以下是否有rsync这个用户
    useradd rsync -M -s /sbin/nologin       #创建rsync虚拟用户

    1.5 创建密码文件并修改访问权限为600

    echo "rsync_backup:123456" >/etc/rsync.password
    chmod 600 /etc/rsync.password           #只能root用户才能查看密码

    1.6 创建备份目录/修改目录属主和属组信息

    mkdir /backup
    chown rsync.rsync /backup

    1.7 启动服务程序/重启服务程序

    systemctl start rsyncd
    systemctl restart rsyncd
    systemctl enable  rsyncd

    1.8 lsyncd配置文件

    lsyncd配置文件

    root@nfs ~]#cat /etc/lsyncd.conf 
    settings {
     logfile = "/var/log/lsyncd/lsyncd.log",
     statusFile = "/var/log/lsyncd/lsyncd.status",
     inotifyMode = "CloseWrite",
     maxProcesses = 8,
    }
    sync {
     default.rsync,
     source = "/data",
     target = "rsync_backup@172.16.1.41::backup",
     delete= true,
     exclude = { ".*" },
     delay = 1,
    rsync = {
     binary = "/usr/bin/rsync",
     archive = true,
     compress = true,
     verbose = true,
     password_file = "/etc/rsync.password",
     _extra = {"--bwlimit=200"}
    }
    }

    1.9 存储服务器创建备份的目录

    mkdir /data

    1.10 创建密码文件,并修改权限

    echo "123456" >/etc/rsync.password  #创建密码文件
    chmod 600 /etc/rsync.password

    1.11免交互式传输密码文件

    rsync -avz /etc/passwd rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

    执行上述命令出现下图,则证明部署服务成功
    image.png

    1.12 存储服务器进行测试

    [root@nfs data]#touch test.txt
    [root@nfs data]#ls
    test.txt
    ++++++++++++++++++++++++++++++
    [root@backup backup]#ls
    test.txt

    转载于:https://www.cnblogs.com/basa/p/11297415.html

    展开全文
  • 目录 需求 环境 需求 需要将192.168.85.102...基于rsync的lsyncd自动同步配置 1 目标机配置 1.1 安装软件包 yum install rsync -y 1.2 设置认证文件 mkdir /etc/rsyncd echo "test:test" > /etc/rs.

    目录

    需求

    环境

    解决办法

    1 目标机配置

    1.1 安装软件包

    1.2 设置认证文件

    1.3 生成客户端配置文件

    1.4 设置自启并启动服务

    2 源机

    2.1 安装软件包

    2.2 安装lsyncd 2.2.3版本

    2.3 设置认证文件

    2.4 生成服务端配置文件

    2.5 设置自启动并启动服务

    2.6 有可能目标机会报错Permission denied (13),是权限的问题

    总结

    参考文献


    需求

    需要将192.168.85.102(源机)的数据同步至192.168.85.103(目标机);

    环境

    两台CentOS服务器,版本CentOS Linux release 7.8.2003 (Core)

    解决办法

    基于rsync的lsyncd自动同步配置

    1 目标机配置

    1.1 安装软件包

    yum install rsync -y

    1.2 设置认证文件

    mkdir /etc/rsyncd 
    echo "test:test" > /etc/rsyncd/rsyncd.secret 
    chmod 600 /etc/rsyncd/rsyncd.secret

    1.3 生成客户端配置文件

    cat > /etc/rsyncd.conf <<EOF 
    uid = root 
    gid = root 
    use chroot = yes 
    read only = no 
    write only = no 
    #hosts allow = 192.168.85.101
    #hosts deny = * 
    max connections = 200 
    #motd file = /etc/rsync/rsyncd.motd 
    pid file = /var/run/rsyncd.pid 
    transfer logging = yes 
    log format = %t %a %m %f %b 
    log file = /var/log/rsync.log 
    exclude = lost+found/ 
    timeout = 900 
    ignore nonreadable = yes 
    reverse lookup = no 
    dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 
     
    [www] 
    path = /opt/test
    list = no 
    ignore errors = yes 
    comment = www 
    auth users = test
    secrets file = /etc/rsyncd/rsyncd.secret 
    exclude = lost+found/ 
    EOF

    其中[www]可以配置多个,名称可以自定义,代表了不同的同步文件夹;不同的配置之间需要配置

    1.4 设置自启并启动服务

    systemctl enable rsyncd.socket 
    systemctl start rsyncd.socket

    2 源机

    2.1 安装软件包

    yum install lsyncd rsync -y

    2.2 安装lsyncd 2.2.3版本

    ##安装lua 5.3
    yum install -y lsyncd readline-devel cmake rsync
    wget http://www.lua.org/ftp/lua-5.3.0.tar.gz
    tar zxf lua-5.3.0.tar.gz
    cd lua-5.3.0/
    make linux
    make install
    ##查看版本
    lua -v
    
    ##安装lsyncd 2.2.3
    curl -OJ -# https://codeload.github.com/axkibe/lsyncd/tar.gz/refs/heads/master
    tar zxf lsyncd-master.tar.gz
    cd lsyncd-master/
    mkdir build
    cd build
    cmake ../
    sed -i '1s/$/ -ldl/' CMakeFiles/lsyncd.dir/link.txt
    make
    make install
    ##查看版本
    lsyncd --version

    2.3 设置认证文件

    mkdir /etc/rsyncd 
    echo "test" > /etc/rsyncd/rsyncd.passwd 
    chmod 600 /etc/rsyncd/rsyncd.passwd
    touch /etc/rsyncd/lsyncd.include

    2.4 生成服务端配置文件

    cat > /etc/lsyncd.conf <<EOF 
    settings { 
        logfile ="/var/log/lsyncd/lsyncd.log", 
        statusFile  ="/var/log/lsyncd/lsyncd.status", 
        insist = true, 
        statusInterval = 10, 
        inotifyMode  = "CloseWrite", 
        maxProcesses = 3, 
        -- nodaemon =true, 
    } 
    sync { 
        default.rsync, 
        source    = "/opt/test", 
        target    = "test@192.168.85.103::test", 
        delay     = 1, 
        -- filterFrom = "/etc/rsyncd/lsyncd.include",
        exclude   = { ".*", "*.tmp", "*.bak" },
        delete = true,
        rsync     = { 
            binary   = "/usr/bin/rsync", 
            archive  = true, 
            compress = false, 
            password_file   = "/etc/rsyncd/rsyncd.passwd" 
        } 
    } 
    EOF

    exclude与filterFrom配置是等价的,可以将过滤规则写进filterFrom指定的文件中,该文件中"-" or "+" 代表 exclude/include.该文件规则如下:

    "*"         means everything 
    "dir1"      transfers empty directory [dir1] 
    "dir*"      transfers empty directories like:"dir1","dir2","dir3", etc... 
    "file*"     transfers files whose names start with [file] 
    "dir**"     transfers every path that starts with [dir] like"dir1/file.txt","dir2/bar/ffaa.html", etc... 
    "dir***"    same as above 
    "dir1/*"    does nothing 
    "dir1/**"   does nothing 
    "dir1/***"  transfers [dir1] directory and all its contents like"dir1/file.txt","dir1/fooo.sh","dir1/fold/baar.py", etc... 
     

    实际使用中,规则书写如下:

    - *

    2.5 设置自启动并启动服务

    ##设置重启方法
    sed -e 's/\/usr\/bin/\/usr\/local\/bin/' -e '/ExecStart/aExecReload=/usr/bin/kill -HUP \$MAINPID' -i /usr/lib/systemd/system/lsyncd.service
    systemctl daemon-reload
    systemctl enable lsyncd 
    systemctl start lsyncd

    启动后,日志如下:

    Mon May 17 10:55:37 2021 Normal: --- Startup ---
    Mon May 17 10:55:37 2021 Normal: recursive startup rsync: /opt/test/ -> test@192.168.85.103::www/ excluding
    .*
    *.tmp
    *.bak
    Mon May 17 10:55:37 2021 Normal: Startup of /opt/test/  -> test@192.168.85.103::www/ finished.

    2.6 有可能目标机会报错Permission denied (13),是权限的问题

    临时更改为setenforce 0,永久更改为修改/etc/sysconfig/selinux,将SELINUX=enforcing修改为SELINUX=diabled或者SELINUX=permissive;

    总结

    内部详细的配置,需要多次实验,目前先介绍搭建起来;

    参考文献

    https://www.cnblogs.com/wshenjin/p/7084961.html

    https://www.cnblogs.com/lemon-le/p/8395438.html

    https://www.kancloud.cn/hiyang/linux/390195

    https://blog.csdn.net/qq_38993101/article/details/85283856

    配置文件研究地址:

    https://www.cnblogs.com/ilanni/p/4225897.html

    https://axkibe.github.io/lsyncd/manual/config/layer4/

    https://rsync.samba.org/ftp/rsync/rsyncd.conf.html

     

     

    展开全文
  • Lsyncd 实时同步

    2018-07-04 09:26:22
    1、描述,, Lsyncd+ssh 开源lsyncd采用inotify原理监听某一个目录,如果目录内发生变化,利用rsync协议自动同步多服务器,因此lsyncd是一个轻量级的实时镜像解决方案。 细粒度的定制可以通过配置文件来实现,配置...
  • 数据同步工具lsyncd.zip

    2019-07-16 07:50:06
    一般rsync软件是通过crond这支后台进行(计划任务)来实现自动同步数据,如今已有更好的开源软件来代替使用crond了,那就是lsyncd( Live Syncing (Mirror) Daemon),它的工作原理:监视本地(rsync client)的目录...
  • lsyncd配置文件

    2018-01-17 11:42:49
    -- 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 =....
  • lsyncd搭建测试

    2017-11-22 23:03:00
    lsyncd实时同步搭建 #########################源码编译安装############################## 从源码编译安装可以使用最新版的lsyncd程序,但必须要相应的依赖库文件和编译工具:yum install lua lua-devel ...
  • 配置文件位置:/etc/lsyncd.conf settings { //全局设置 logfile = "/var/log/lsyncd/lsyncd.log", //定义日志文件 statusFile = "/var/log/lsyncd/lsyncd.status", //定义状态文件 inotifyMode = "CloseWrite",...
  • lsyncd实时同步工具

    2018-05-30 18:40:41
    lsyncd实时同步工具: Lsyncd 实际上是lua语言封装了 inotify 和 rsync 工具,采用了 Linux 内核(2.6.13 及以后)里的 inotify 触发机制,然后通过rsync去差异同步,达到实时的效果。 安装: apt-get install ...
  • lsyncd实时同步搭建指南 需要被同步服务器: 1、安装lsyncd #yum install -y lsyncd 2、配置文件 lsyncd.conf settings { logfile ="/var/log/lsyncd.log", statusFile ="/var/run/lsyncd.status", ...
  • 安装lsyncd sudo apt install lsyncd Ubuntu下已默认安装rsync,如未安装需sudo apt install rsync 创建配置文件 Ubuntu下需要手动创建/etc/ lsyncd文件夹及/etc/lsyncd/lsyncd.conf.lua 配置lsyncd --代表注释,...
  • lsyncd+rsync 实时同步

    2020-01-27 14:26:26
    一、lsyncd简介 lsyncd功能和sersync相同,属于实时同步工具,但是Lsyncd功能更加强大,Lysncd 实际上是lua语言封装了 inotify 和 rsync 工具,采用了 Linux 内核里的 inotify 触发机制,然后通过rsync去差异同步,...
  • 使用 lsyncd 同步文件

    2019-09-22 17:36:30
    https://unix.stackexchange.com/questions/307046/real-time-file-synchronization https://github.com/axkibe/lsyncd ---- -- User configuration file for lsyncd. -- -- Simple example for defa...
  • lsyncd实时同步

    2016-11-09 11:51:24
    有些博客说lsyncd是谷歌开源的,实际不是了,只是托管在了googlecode上而已,幸运的是已经迁移到github了:https://github.com/axkibe/lsyncd。Lysncd 实际上是lua语言封装了 inotify 和 rsync 工具,采用了 Linux ...
  • lsyncd同步搭建

    2017-11-14 23:05:00
    安装环境: centos6.9 服务器两台:192.168.166.150 server端 主节点 192.168.166.145 从节点 ...lsyncd-release-2.2.2.zip 安装包可以直接去github上下载即可 安装依赖环境: yum install lua lua-devel asciido...
  • 试了许多工具,感觉还是lsyncd最简单,最适合本地文件夹之间的同步。 具体步骤 1.安装lsyncd,修改inotify触发机制监控的文件数 yum install lsyncd echo fs.inotify.max_user_watches=50000000 >> /etc/...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 370
精华内容 148
关键字:

lsyncd