Рассмотрим установку и настройку rsync сервера в системе CentOS
Устанавливаем xinetd (необходим для запуска rsync сервера), затем сам rsync
#yum install -y xinetd # yum install -y rsync |
Далее открываем конфиг rsync для xinetd:
#vi /etc/xinetd.d/rsync |
И внутри заменяем disable = yes на disable = no
Получим такой конфиг:
|
Применяем настройки xinetd:
#/etc/init.d/xinetd restart |
Добавляем xinetd в автозапуск:
#chkconfig xinetd on |
Проверяем, всё ли успешно получилось:
#netstat -lnpt | grep 873 |
Создаем файл конфигурации rsync-сервера /etc/rsyncd.conf (в данном примере это только пример, другие опции конфига можно найти в мануале по rsync):
|
Описание указанных опций:
-
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.