例子:双nginx实现自动同步配置
nginxA:10.5.8.19 nginxB:10.5.8.20
1,实现8.19免密登陆8.20
19操作 #ssh-keygen -t rsa #ssh-copy-id root@10.5.8.20
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