Это очень маленькая заметка, о том как настроить резервное копирование, в моем случае web-проекта. Рекомендую погуглить и найти более полную информацию о rsync, потому-что тут будет минимум инфы, только пример настройки.
Устанавливаем rsync
# apt-get insall rsync-serverВ ALTLinux rsync работает через xinetd, поэтому придется немного покрутить его.
Нужно закомментировать строку rlimit_as, а так же сказать disable = no в файле:
[root@node1 xinetd.d]# cat /etc/xinetd.d/rsync# default: off# description: The rsync server is a good addition to an ftp server,# as it allows crc checksumming etc.service rsync{ disable = no socket_type = stream wait = no user = root nice = 10# rlimit_as = 16M server = /usr/bin/rsync server_args = --daemon}С настроенным по умолчанию rlimit_as rsync у меня отключал клиента с ошибкой:
2012/08/20 06:13:57 [5320] rsync: connection unexpectedly closed (2589 bytes received so far) [generator]2012/08/20 06:13:57 [5320] rsync error: error in rsync protocol data stream (code 12) at io.c(605) [generator=3.0.9Но этого мало, далее правим /etc/xinetd.conf
Тут нам нужно закомментировать only_from = 127.0.0.1 или настроить параметры как-то по своему усмотрению.
## Simple configuration file for xinetd## Some defaults, and include /etc/xinetd.d/defaults{ log_type = SYSLOG authpriv info log_on_success = PID HOST DURATION log_on_failure = HOST instances = 100 per_source = 5# only_from = 127.0.0.1}includedir /etc/xinetd.dПосле чего запустить xinetd демон
# service xinetd startДобавляем в автозапуск:
# chkconfig xinetd onДалее настраиваем сам rsync:
В самом файле конфигурации /etc/rsyncd.conf по умолчанию все закомментировано. Я туда добавил следующие строки:
[backup]comment = My backuppath = /var/backupuse chroot = trueuid = rootgid = rootlog file = /var/log/rsyncd/rsync-backup.logread only = falsewrite only = falsehosts allow = 192.168.1.2hosts deny = *transfer logging = false192.168.1.2 - это ip с которого разрешено подключение, можно указать несколько хостов через пробел.
Теперь можно проверить работает ли сервис:
[root@node1 etc]# rsync rsync://localhostbackup My backupНу вот все хорошо, сервис отвечает. Попробуем с клиента что-нибудь скопировать.
rsync -auv /var/www/html/temp/ rsync://ip.add.re.ss/backupПодробнее про опции читайте в доке, скажу лишь, что "-u" - это не изменять файлы на приемнике, если тут есть такой же файл и он более свежий, "-v" - это verbose, т.е. более подробный вывод, "-a" - задает кучу популярных параметров, чаще всего походу так и вызывают rsync.
Далее идет источник и приемник, в нашем случае, мы отправляем файлы с /var/www/html/temp на сервер rsync, который настроили выше. А может быть и наоборот, т.е. можно скачивать с сервера, читайте доки.
Если все удачно, то на консоли вы увидите, что-то похожее:
sending incremental file listкакой-то файл ...какой-то файл ...какой-то файл ...какой-то файл ...sent 391285 bytes received 26703 bytes 92886.22 bytes/secДалее смотрим на сервере в папку /var/backup и находим наши файлы.
На этом все.