zoukankan      html  css  js  c++  java
  • 实时同步lsyncd

    要求rsync >= 3.1

    rsync --version
    systemctl status rsyncd
    
    1.安装lsyncd
    yum install -y lsyncd
    lsyncd --version
    2.创建日志文件
    mkdir /var/log/lsyncd
    touch /var/log/lsyncd/lsyncd.{log,status}
    3.创建配置文件
    mkdir -p /etc/lsyncd
    vim /etc/lsyncd.conf
    4.配置文件写入以下内容:
    settings {
            logfile = "/var/log/lsyncd/lsyncd.log",
            statusFile = "/var/log/lsyncd/lsyncd.status",
    		pidfile = "/var/run/lsyncd.pid",
    		statusInterval = 1,
    		nodaemon = false,
    		maxProcesses = 1,
    		maxDelays = 1,		
    }
    #本地同步 
    sync {
            default.rsync,
            source = "/data/source",
            target = "/data/target",
        }
    #rsync+ssh远程目录同步,需要免key登录
    sync {
       default.rsyncssh,
       source="/data/source",
       delete = true,
       host="root@192.168.15.6",
       targetdir="/data/target",
       -- 忽略文件路径规则,可用table也可用外部配置文件
       -- excludeFrom = "/etc/lsyncd_exclude.lst",
       exclude={
            ".txt"            --需排除的文件
        },
       rsync = {
           binary = "/usr/bin/rsync", --需先安装好rsync
           archive = true,            --归档
           compress = false,          --压缩
           owner = true,              --属主
           perms = true,              --权限
           whole_file = false
           },
       ssh = {
           port = 22
       }
    }
    #rsync-daemon模式,需要配置好rsync的服务端
    sync {
        default.rsync,
        source = "/data/source",
        target = "rsync_user@192.168.15.6::backup",
        exclude = { ".bak*" },
    	delete = true,
        delay = 30,
        init = true,
        rsync = {
            binary = "/usr/bin/rsync",
            archive = true,
            compress = true,
            verbose = true,
            perms = true,
            password_file = "/etc/rsync.password", 
            _extra = {"--bwlimit=200"}    --bwlimit 限速,单位kb/s,
        }
    }
    5.启动lsyncd服务
    lsyncd -nodaemon /etc/lsyncd.conf
    systemctl restart lsyncd
    systemctl enable lsyncd
    6.rsync-daemon模式
    #lsyncd端配置
    vim /etc/rsync.password
    echo "1234567" > /etc/rsync.password
    chmod 600 /etc/rsync.password
    #rsync服务端配置
    安装rsync
    vim /etc/rsyncd.conf
    uid = root
    gid = root
    use chroot = no
    strict modes = no
    max connections = 100
    charset=utf8
    log file = /var/log/rsyncd.log
    pid file = /var/run/rsyncd.pid
    hosts allow = 192.168.15.20
    hosts deny = *
    [backup]
    path = /data/target/
    read only = no
    write only = no
    list = no
    exclude = .svn/
    dont compress = *.gz *.tgz *.zip *.z *.bz2 *.tbz
    auth users = rsync_user
    secrets file = /etc/rsync/rsync.pass
    
    echo 'rsync_user:123456'>/etc/rsync/rsync.pass
    chmod 600 /etc/rsync/rsync.pass
    
    #rsync用法
    rsync -auv --password-file=/etc/rsync.password --delete /data/source/ rsync_user@192.168.15.6::backup
    #lsyncd delete -- 用法如下
    https://axkibe.github.io/lsyncd/manual/config/layer4/
    
  • 相关阅读:
    敏捷软件开发实践-Release Process/Release Plan(转)
    《敏捷软件开发-原则、方法与实践》-Robert C. Martin读书笔记(转)
    测试RESTful API利器-Postman
    backbone.js初探(转)
    JavaScript有关的10个怪癖和秘密(转)
    Restful Web Service初识
    JSTL标签库的使用
    JavaScript处理JSON
    绑定QQ登录 PHP OAuth详解(转)
    mysql if exist坑
  • 原文地址:https://www.cnblogs.com/kylingx/p/12013228.html
Copyright © 2011-2022 走看看