У меня есть следующий lsyncd сценарий, который будет синхронизировать через мою www папку от единственного сервера до нескольких мест назначения:
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status",
statusInterval = 10
}
www_target_list = {
"server_one:/var/www",
"server_two:/var/www",
"server_thr:/var/www"
}
for _, server in ipairs(www_target_list) do
sync {
default.rsync,
source = "/var/www/",
target = server,
rsync = {
compress = true,
acls = true,
verbose = true,
owner = true,
group = true,
perms = true,
rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no"
}
}
end
То, что я хотел бы сделать, имеют второй набор исходных папок, которые я хотел бы синхронизировать с серверами. Таким образом с /var/www
, Я хотел бы добавить /var/folder
.
Как я пошел бы о выполнении этого с lsyncd?
Я закончил тем просто, что добавил второй набор папок ниже первого набора в конфигурации как это. Я не уверен, является ли это лучшим подходом, но он работает.
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status",
statusInterval = 10
}
apache_list = {
"[ip address]:/etc/apache2/sites-available",
"[ip address]:/etc/apache2/sites-available",
"[ip address]:/etc/apache2/sites-available",
}
for _, server in ipairs(apache_list) do
sync {
default.rsync,
source = "/etc/apache2/sites-enabled",
target = server,
rsync = {
compress = true,
acls = true,
verbose = true,
owner = false,
group = false,
perms = false,
rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no"
}
}
end
www_list = {
"[ip address]:/var/www",
"[ip address]:/var/www",
"[ip address]:/var/www",
}
for _, server in ipairs(www_list) do
sync {
default.rsync,
source = "/var/www/",
target = server,
rsync = {
compress = true,
acls = true,
verbose = true,
owner = false,
group = false,
perms = false,
rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no",
_extra = {"--chmod=0755"}
}
}
end