Lsyncd - демон на Lua, позволяющий синхронизировать между собой каталоги между несколькими серверами по событиям изменения содержимого файловой системы.
settings = {
delay = 1,
maxProcesses = 3,
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.stat",
}
targetlist = {
"1.0.0.2:/var/www/html",
"1.0.0.3:/var/www/html"
}
for _, server in ipairs(targetlist) do
sync{ default.rsync,
source="/var/www/html",
rsyncOps="-rltvupgo"
target=server
}
end
Отдельный файл для каждого sync
local confdir = '/etc/lsyncd/conf.d/'
local entries = readdir( confdir )
for name, isdir in pairs( entries ) do
if not isdir then
dofile( confdir .. name )
end
end
ssh_exchange_identification: read: Connection reset by peer
при большом количестве файлов для синхронизации, правим в файле /etc/ssh/sshd_config на сервере приемнике правим:
MaxSessions 100
MaxStartups 100:30:1000
MaxSessions Задает максимальное количество открытых сеансов, разрешенных для одного сетевого подключения. По умолчанию 10.
MaxStartups. Запись параметра имеет форму "start:rate:full". В нашем случае она означает отключение с вероятностью 30% при наличии 100 неаутентифицированных связей, с линейным ростом вероятности до 100% при достижении 1000.