rsync
Настройка rsync-сервера и rsync-клиента для резервного копирования в ALTLinux
Это очень маленькая заметка, о том как настроить резервное копирование, в моем случае 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 backup
path = /var/backup
use chroot = true
uid = root
gid = root
log file = /var/log/rsyncd/rsync-backup.log
read only = false
write only = false
hosts allow = 192.168.1.2
hosts deny = *
transfer logging = false
192.168.1.2 - это ip с которого разрешено подключение, можно указать несколько хостов через пробел.
Теперь можно проверить работает ли сервис:
[root@node1 etc]# rsync rsync://localhost
backup 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 и находим наши файлы.
На этом все.