2016-04-19 2 views
1

Я использую LSync для синхронизации корневого веб-узла для двух отдельных серверов CentOS 7 под управлением Apache. Пока это работает прилично, но каждый раз так часто замечаю, что lsync не обрабатывает файлы должным образом.Lsync не обрабатывает файлы в правильном порядке в настройке master-master/bi-directional

Пример меня вопрос - если у меня есть файл с именем привет-world.txt на server01 и Server02, и я удалить его из server01, когда lsync работает, вместо удалять его из server02, он фактически воссоздает его на server01.

Я ничего не нашел об этом в сети, и я новичок в использовании lsync, поэтому я не совсем уверен, как это сделать.

Не уверен, что это нужно, но вот файл конфигурации lsync (/etc/lsyncd.conf):

settings { 
    logfile = "/var/log/lsyncd.log", 
    statusFile = "/var/log/lsyncd.stat", 
    statusInterval = 2 
} 

sync { 
    default.rsync, 
    source="/var/www/", 
    target="192.168.1.36:/var/www/", 
    rsync={ 
     rsh = "/usr/bin/ssh -l lsync -i /etc/lsync/.ssh/id_rsa", 
    } 
} 

Любая помощь будет признателен! благодаря!

+0

Восстанавливается ли файл при запуске * lsyncd или при удалении файла, когда lsyncd уже работает *? – ams

ответ

1

lsyncd не выполняет двунаправленную синхронизацию; его цель состоит в том, чтобы сделать , что каталог выглядит как этот каталог, постоянно.

Вы можете добиться такого же эффекта, запустив rsync в качестве задания cron. Единственное различие заключается в том, что lsyncd более отзывчив при изменении файлов и более эффективен, когда файлы неактивны.

С особой осторожностью вы можете настроить lsyncd на обоих серверах, синхронизировать в обоих направлениях, а затем вы можете получить то, что хотите, но это зависит от того, что обновления не слишком быстрые (когда server01 отправляет обновление на server02, server02 обнаружит это изменение и попытается отправить его обратно на сервер01, что безвредно, если этот файл не изменился снова). Я бы не рекомендовал эту настройку; используйте SyncThing или редактируйте только мастер-сервер.

+0

«С особой осторожностью вы можете настроить lsyncd на обоих серверах, синхронизируя в обоих направлениях». Именно это я и установил .. и что вызывает проблему. Не должно быть обновлений слишком часто. – Justin

+0

Возможно, это была релевантная информация в вопросе! – ams

+0

Вы можете попробовать использовать 'default.rsyncssh' вместо' default.rsync'. См. Документы, так как есть несколько различий в параметрах, которые необходимо установить. Дело в том, что он будет делать 'ssh rm ' вместо использования 'rsync' для удаления файлов. – ams