rsync+lsyncd实现实时同步

1.接收端安装rsync,修改/etc/rsyncd.conf配置文件,然后启动服务。

uid = root
gid = root
use chroot = no
max connection = 4
secrets file = /etc/rsyncd.secrets

[test] path
= /tmp/test auth users = bak read only = no

2.发送端安装rsync+lsyncd,修改/etc/lsyncd.conf配置文件,编辑密码文件(如果使用了密码同步),然后启动lsyncd服务。

settings = {
logfile = "/var/log/lsyncd.log",
statusFile = "/tmp/lsyncd.stat",
statusInterval = 1,  -- 同步时间间隔
}

sync {
default.rsync,
source="/data0/test",
target="bak@172.16.225.222::test",

rsync = {
        binary = "/usr/bin/rsync",
        archive = true,
        compress = true,
        verbose   = true,
        --delete =  true,
         _extra = {"--password-file=/etc/rsyncd.secrets"},
        },
}

3.在发送端要同步的目录中添加、删除文件,查看接收端是否同步。

4.配置lsyncd日志文件轮转,防止日志文件太大

修改/etc/logrotate.d/lsyncd配置文件

/var/log/lsyncd/*log { 
    missingok 
    notifempty 
    sharedscripts 
    postrotate 
        /etc/rc.d/init.d/lsyncd restart 2>&1 > /dev/null || true 
    endscript 
}

参考:http://openlinuxfly.blog.51cto.com/7120723/1679279https://github.com/axkibe/lsyncd/blob/master/default-rsync.lua

如果使用rsync+Inotify-tools方式可参考:

http://www.osyunwei.com/archives/7435.html

原文地址:https://www.cnblogs.com/wsl222000/p/5714751.html