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

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

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

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

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

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

1 ответ

По пункту № 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 пропускать любые файлы, для которых целевой файл уже существует и имеет дату позже, чем исходный файл.

Другие вопросы по тегам