Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование *NIX систем > Настройка Lsyncd


Автор: NZero 21.11.2016, 21:56
Всем привет! Настраиваю lsyncd для репликации данных с сервера на сервер. Синхронизироваться должны, как обычные файлы, так и файлы БД. Так вот перед репликацией БД должна проверяться на корректность структуры, для этого есть команда db_verify и если структура БД нарушена, не синхронизировать файлы БД на удаленный сервер. Как это реализовать через lsyncd? 

Вычитал, что можно вызывать bash скрипт в конфиге lsyncd, но как останавливать синхронизацию, если db_verify вернет error?

Т.е. получается примерно следующее

Скрипт проверки БД

Код

#!/bin/bash
 
db_verify file.db
if [ $? != 0 ] ;then
exit 2
fi


Конфиг lsyncd

Код

settings = {
logfile = "/logs/log.log",
pidfile = "/var/run/lsyncd.pid",
statusFile="/var/log/lsyncd.stat",
statusIntervall=5,
delay = 1
}
 
check = {
onStartup = spawn(event,"./script.sh") -- Здесь проверка структуры БД, если проверка не прошла синхронизация не выполняется
}
 
sync {
check,
default.rsync,
source = "/source/folder",
target = "/destination/folder",
excludeFrom="/etc/exclude",
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)