Синхронизация папок на удаленных серверах (с одним нюансом)

12
V
На сайте с 28.02.2008
Offline
14
5092

Казалось бы, вопрос не сложный, но нормального ответа в поисковиках и на этом форуме не нашел.

Есть 2 сервера, расположенных в разных городах: Сервер1 и Сервер2.

На каждом сервере есть своя папка uploads, куда заливаются картинки. Но раздает картинки только веб-сервер (nginx) Сервера1.

Нужно сделать так, чтобы при заливке картинки на Сервер2, она дублировалась на Сервер1. В обратном порядке дублировать не нужно. Совпадения имен файлов не будет.

На Сервере1 стоит FreeBSD, на Сервере2 Alt Linux Server.

Очевидно, мне подойдет rsync, но как его настроить под свою задачу - не пойму и нигде не могу найти.

А если не rsync, то может быть есть какие-то другие несложные варианты?

Расскажите или ткните носом :)

Заранее спасибо!

BS
На сайте с 22.06.2009
Offline
73
#1

Так и в rsync-е ничего сложного нет, на сервере2 делаем

rsync -a -essh /home/uploads/ root@server1:/home/uploads

V
На сайте с 28.02.2008
Offline
14
#2

bb-support, а rsync не будет при этом трогать файлы, которые лежат на Сервере1, но которых нет на Сервере2 ?

Himiko
На сайте с 28.08.2008
Offline
560
#3
vibro:
bb-support, а rsync не будет при этом трогать файлы, которые лежат на Сервере1, но которых нет на Сервере2 ?

он их добавит на Сервер2.

И удалит оттуда, когда они исчезнут с Сервер1

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
V
На сайте с 28.02.2008
Offline
14
#4

Ага.

А синхронизация будет происходить сразу же во время появления/удаления файла? Или же он с какой-то периодичностью будет осуществлять проверку?

Himiko
На сайте с 28.08.2008
Offline
560
#5
vibro:
Ага.
А синхронизация будет происходить сразу же во время появления/удаления файла? Или же он с какой-то периодичностью будет осуществлять проверку?

С какой переодичностью команду запускать будете, с такой и будет синхронизироваться)

Andreyka
На сайте с 19.02.2005
Offline
822
#6

С переодичностью

Если нужен реалтайм - то это уже кластерная ФС нужна

Не стоит плодить сущности без необходимости
O
На сайте с 13.08.2008
Offline
26
#7

лицорука.пнг.

Какой рсинк для раздачи картинок? nginx-овый прокси-кэш ровно для такого и придуман.

Outsourcenow.ru: оттюним ваш веб-сервер. 100 млн. запросов в сутки - наш размерчик!
mstar
На сайте с 19.12.2005
Offline
133
#8

Как по мне, вобще лучше на один сервер заливать, и юзать с одного, чтобы не заморачиваться потом где что лежит. Создайте отдельный домен третьего уровня и тяните оттуда картинки, хоть на третьем сервере.

зачем синхронизировать - не совсем понятно.

Разработка сайтов (http://www.mstarproject.com/?action=tecdoc_mysql_site) - удобные веб приложения по разумной цене.
P
На сайте с 08.03.2007
Offline
250
#9

Синхронизация нужна для того, чтобы организовать раздачу для разных географических районов.

Можно сделать так - inotifywait следит за изменением файлов, как только файлы меняются, она устанавливает какой-то флаг - touch <file>, или ещё как-то. А другой скрипт, с какой-то периодичностью, проверяет этот флаг, ели он изменился - запускает rsync. Модифицировать этот алгоритм можно массой способов, в зависимости от условий. (только не надо запускать rsync по событиям в inotifywait ). Или то же с incron .

Б
На сайте с 07.07.2007
Offline
46
#10

А может NFS замутить :)? По сути нужна насколько я понял не синхронизация, а просто копирование.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий