共计 831 个字符,预计需要花费 3 分钟才能阅读完成。
例子:双 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
: