Я хочу синхронизировать каталог на сервере 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
Нужно ли делать что-то еще, чтобы синхронизировать файл?
Вы неправильно понимаете, как rsync работает. rsync автоматически не копирует изменения - он не похож на Dropbox или подобное программное обеспечение. rsync только синхронизирует файлы однажды каждый раз, когда он выполняется. Если Вы хотите синхронизироваться чаще, то поместите команду rsync в сценарий крона (например, взгляд в /etc/cron.daily). Если Вы хотите что-то, что автоматически синхронизирует изменения, как Dropbox делает, то смотрят на различный проект, такой, поскольку Искрятся Долей или ownCloud.
rsync
синтаксис Вы отправили работы, предполагающие исключение имени хоста машины / IP но не использует эти rsync
доля, которую Вы настроили. Для использования доли необходимо было бы изменить синтаксис следующим образом для использования доли:
rsync -av rsync@MACHINE-A::share/ /etc/dirtosync/
Однако, который все еще не настроит непрерывную синхронизацию между теми папками. Что Вы, кажется, после двунаправленная синхронизация для тех папок, которая является чем-то, что можно или настроить в кроне или начать использовать программное обеспечение синхронизации файлов Унисона .
Унисон не хорошо больше сохраняется, и я не использовал его сам, но я услышал большие вещи об этом. Это отслеживает изменения в файлах, сделанных в каталоге, который Вы настроили для синхронизации, и периодически копирует те файлы по использованию rsync
или другой (настраиваемый) метод.
, Если Вы собираетесь пойти rsync
- маршрут в кроне, Вы захотите использовать -u
опция, которая говорит rsync
только копировать по более новым файлам. Вы столкнетесь с проблемами с удаленными файлами, вновь появляющимися с этим подходом, как бы то ни было.
Можно также использовать lsyncd: https://github.com/axkibe/lsyncd. Я использую до сих пор, и это является большим для этого.