例子:雙nginx實(shí)現(xiàn)自動(dòng)同步配置
nginxA:10.5.8.19
nginxB:10.5.8.20
1,實(shí)現(xiàn)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”, –定義狀態(tài)文件
maxProcesses = 1 — 同步進(jìn)程的最大個(gè)數(shù)。假如同時(shí)有20個(gè)文件需要同步,而maxProcesses = 8,則最大能看到有8個(gè)rysnc進(jìn)程
}
sync {
default.rsyncssh, –同步到遠(yuǎn)程主機(jī)目錄,rsync的ssh模式,需要使用key來認(rèn)證
source = “/etc/nginx”, — 同步的源目錄,使用絕對(duì)路徑
host = “10.5.8.20”,
targetdir = “/etc/nginx”, — 定義目標(biāo)目錄
init = false, –這是一個(gè)優(yōu)化選項(xiàng),當(dāng)init = false,只同步進(jìn)程啟動(dòng)以后發(fā)生改動(dòng)事件的文件,原有的目錄即使有差異也不會(huì)同步。默認(rèn)是true
delay = 0,
rsync = {
binary = “/usr/bin/rsync”,
archive = true,
compress = true, –壓縮傳輸默認(rèn)為true。在帶寬與cpu負(fù)載之間權(quán)衡,本地目錄同步可以考慮把它設(shè)為false
verbose = true
},
ssh = {
port = 22
}
}
/etc/init.d/lsyncd restart
4,測(cè)試
可以看到 在19上創(chuàng)建的文件會(huì)自動(dòng)同步至20