Назад | Перейти на главную страницу

Синхронизировать файлы с веб-сервером с помощью lsyncd

У меня есть два веб-приложения, старый - WS1, а новая - WS2. Теперь я хочу синхронизировать изображения / вложения с WS1 на WS2, чтобы оба работали. Я нашел несколько инструментов, например lsyncd / unison / GlusterFS. lsyncd довольно удобен, но я обнаружил некоторые проблемы, пожалуйста, помогите.

  1. Я вижу несколько руководств по настройке lsyncd для двух веб-серверов. Но можем ли мы установить такой пакет, как lsyncd, на сервер, размещенный в облаке? Как AWS. У нас есть рут для этого? Если нет, то как я могу его настроить?

  2. После попытки lsyncd он работает хорошо локально. Но я обнаружил, что если сервер не работает или lsyncd перезагружается, он синхронизирует папки WS1 и WS2 точно так же. Если у меня есть файлы в WS2, которых нет в WS1, то эти файлы будут удалены при перезапуске lsyncd. Как этого избежать? Поскольку в WS2.

  3. lsyncd - это односторонняя синхронизация, есть ли надежное двустороннее решение? Или есть способ лучше, чем синхронизировать? Нравится общий доступ к одному файловому серверу?

Спасибо, что прочитали длинный вопрос. Ценю любую помощь.

по пункту 2 - можно попробовать
rsync = {
_extra = {"-ausS", "--temp-dir = / tmp", "-e", "ssh -p 22"}
},
вариант. https://github.com/axkibe/lsyncd/issues/191 для справки. Пункт №2 должен разрешить №3, надеюсь

http://ss64.com/bash/rsync_options.html

-u, --update Это заставляет rsync пропускать любые файлы, для которых целевой файл уже существует и имеет более позднюю дату, чем исходный файл.