Запустите демон Rsync для синхронизации каталога между двумя серверами.

Я хочу синхронизировать каталог на сервере A с сервером B.

На сервере AI создан файл rsyncd.conf с содержимым:

uid             = rsync
gid             = rsync
use chroot      = no
pid file        = /var/run/rsyncd.pid

[share]
  comment = share
  path = /etc/dirtosync
  read only = false
  list = yes
  hosts allow = *
  auth users = rsync
  secrets file = /etc/rsyncd.secrets

И я создал на сервере A файл /etc/rsyncd.secrets с содержимым:

rsync:rsync

Я также создал на сервере A файл pid и пользователя rsync с паролем rsync.

На сервере A в файле: /etc/default/rsync я присвоил значение RSYNC_ENABLE значению true и запустил демон rsync с помощью команды:

/etc/initd/rsync start

На сервере A и сервер B владелец и группа каталога - rsync.

Я запустил на машине B команду:

rsync -avzr rsync@<serverA>:/etc/dirtosync/* /etc/dirtosync/

Я также попробовал на сервере A команду

rsync -avzr /etc/dirtosync/* rsync@<serverB>:/etc/dirtosync/

С этими двумя командами результат один и тот же: файлы синхронизируются только один раз, когда я запускаю команду, но после того, как я изменяю файлы на сервере A, они не синхронизируются с сервером B

Нужно ли делать что-то еще, чтобы синхронизировать файл?

5
задан 8 September 2015 в 18:47

3 ответа

Вы неправильно понимаете, как rsync работает. rsync автоматически не копирует изменения - он не похож на Dropbox или подобное программное обеспечение. rsync только синхронизирует файлы однажды каждый раз, когда он выполняется. Если Вы хотите синхронизироваться чаще, то поместите команду rsync в сценарий крона (например, взгляд в /etc/cron.daily). Если Вы хотите что-то, что автоматически синхронизирует изменения, как Dropbox делает, то смотрят на различный проект, такой, поскольку Искрятся Долей или ownCloud.

0
ответ дан 8 September 2015 в 18:47

rsync синтаксис Вы отправили работы, предполагающие исключение имени хоста машины / IP но не использует эти rsync доля, которую Вы настроили. Для использования доли необходимо было бы изменить синтаксис следующим образом для использования доли:

rsync -av rsync@MACHINE-A::share/ /etc/dirtosync/

Однако, который все еще не настроит непрерывную синхронизацию между теми папками. Что Вы, кажется, после двунаправленная синхронизация для тех папок, которая является чем-то, что можно или настроить в кроне или начать использовать программное обеспечение синхронизации файлов Унисона .

Унисон не хорошо больше сохраняется, и я не использовал его сам, но я услышал большие вещи об этом. Это отслеживает изменения в файлах, сделанных в каталоге, который Вы настроили для синхронизации, и периодически копирует те файлы по использованию rsync или другой (настраиваемый) метод.

, Если Вы собираетесь пойти rsync - маршрут в кроне, Вы захотите использовать -u опция, которая говорит rsync только копировать по более новым файлам. Вы столкнетесь с проблемами с удаленными файлами, вновь появляющимися с этим подходом, как бы то ни было.

0
ответ дан 8 September 2015 в 18:47

Можно также использовать lsyncd: https://github.com/axkibe/lsyncd. Я использую до сих пор, и это является большим для этого.

1
ответ дан 8 September 2015 в 18:47

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

Похожие вопросы: