Настройка rsync-сервера

Рассмотрим установку и настройку rsync сервера в системе CentOS

Устанавливаем xinetd (необходим для запуска rsync сервера), затем сам rsync

#yum install -y xinetd

# yum install -y rsync


Далее открываем конфиг rsync для xinetd:

#vi /etc/xinetd.d/rsync


И внутри заменяем disable = yes на disable = no

Получим такой конфиг:

# default: off

# description: The rsync server is a good addition to an ftp server, as it \

# allows crc checksumming etc.

service rsync

{

disable = no

flags = IPv6

socket_type = stream

wait = no

user = root

server = /usr/bin/rsync

server_args = --daemon

log_on_failure += USERID

}

 

Применяем настройки xinetd:

#/etc/init.d/xinetd restart


Добавляем xinetd в автозапуск:

#chkconfig xinetd on


Проверяем, всё ли успешно получилось:

#netstat -lnpt | grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 7731/xinetd


Создаем файл конфигурации rsync-сервера /etc/rsyncd.conf (в данном примере это только пример, другие опции конфига можно найти в мануале по rsync):

log file = /var/log/rsyncd.log

auth users = backup

secrets file = /etc/opt/rsyncd.passwd

hosts allow = 10.14.7.41

max connections = 10

pid file = /var/run/rsyncd.pid

 

[my]

path = /data/latest_backup

uid = root

gid = root

read only = yes

use chroot = no

 

comment = Backups Reports


Описание указанных опций:

  • uid - идентификатор пользователя, от которого запустится rsync-сервер;

  • gid - идентификатор группы, от которой запустится rsync-сервер;

  • max connections - максимальное количество одновременных подключений к rsync-серверу;

  • read only - разрешать подключившимся клиентам только чтение;

  • use chroot - указывает, должен ли rsync сервер в целях обеспечения безопасности, менять корневой каталог на указанный в path;
  • path - путь к каталогу на файловой системе, с которым будет работать данный модуль;

 

В квадратных скобках задаётся имя секции. Каждая секция обязана иметь собственный параметр path.

После построения конфига перезапускаем rsync через xinetd

Всё, rsync сервер готов.

 

Использование rsync-клиента

Для запуска копирования с rsync-сервера, можно воспользоваться командой:

#/usr/local/bin/rsync --timeout=1200 --delete -uaSHlptgoD --password-file=/usr/local/etc/rsyncd/backup.pass backup@myserver::my /var/backups/my-backup/backup_$(date +%Y.%m.%d)

Возможные опции (приведены лишь некоторые самые юзабельные мной опции):

  • -v, --verbose - увеличение отладочной информации;

  • -u, --update - пропускать обновление файлов, которые новее исходных;

  • -r, --recursive - рекурсия в директориях;

  • -o, --owner - сохранить владельца (только под root);

  • -g, --group - сохранить группу;

  • -h, --human-readable - вывод цифр в читаемом виде (Mb, Gb);

  • -t, --times - сохранить дату изменения;

  • -p, --perms - сохранить права доступа;

  • --delete-after - удалить после. Если в основном месте был удален какой-то файл, или каталог, то после синхронизации в backup сервере, в каталоге он тоже будет удален;

  • --password-file - путь, где хранится файл с паролем;

  • -a, --archive - работа в режиме архивирования, сохраняются права доступа и информация о владельцах;

  • -H, --hard-links - сохранять жесткие ссылки;

  • --progress - показывать сколько процентов осталось до завершения;

  • --delete - удалять из бэкапа файлы, которых уже нет на стороне источника;

  • backup@ - под каким пользоателем осущестляются подключение;

  • myserver- имя хоста к которому производится подключение;

  • my - директория источник, которую нужно бэкапить(смотри имя секции);

  • /var/backups/my-backup/backup_$(date +%Y.%m.%d) - куда сохранять бэкап;

  • -n, --dry-run - режим тестирования, реально никаких действий не производится;

 

За более подробной информацией по программе rsync можно обратиться к системным страницам руководства rsync.

 

unix-way