例子:双nginx实现自动同步配置

nginxA:10.5.8.19
nginxB:10.5.8.20

1,实现8.19免密登陆8.20

19操作
#ssh-keygen -t rsa
#ssh-copy-id [email protected]

2,安装lsyncd

apt-get install lsyncd

3,定义配置文件

# cat /etc/lsyncd/lrsync_nginx.lua 
settings  {

    logfile = "/var/log/lsyncd/lsyncd.log", --定义日志文件
    statusFile = "/var/log/lsyncd/lsyncd.status", --定义状态文件
    maxProcesses = 1 -- 同步进程的最大个数。假如同时有20个文件需要同步,而maxProcesses = 8,则最大能看到有8个rysnc进程
}

sync {
        default.rsyncssh, --同步到远程主机目录,rsync的ssh模式,需要使用key来认证
        source = "/etc/nginx", -- 同步的源目录,使用绝对路径
        host = "10.5.8.20",
        targetdir = "/etc/nginx", -- 定义目标目录
        init = false, --这是一个优化选项,当init = false,只同步进程启动以后发生改动事件的文件,原有的目录即使有差异也不会同步。默认是true
        delay = 0,

rsync  = {
        binary    = "/usr/bin/rsync",
        archive   = true,
        compress  = true, --压缩传输默认为true。在带宽与cpu负载之间权衡,本地目录同步可以考虑把它设为false
        verbose   = true
},

 ssh   = {
        port  = 22
         }
}

/etc/init.d/lsyncd restart
4,测试
可以看到 在19上创建的文件会自动同步至20
ubuntu-lsyncd实现远端实时同步配置
ubuntu-lsyncd实现远端实时同步配置