Демон резервного копирования Rsync
From DD-WRT Wiki
English • Deutsch • Español • Français • Italiano • 日本語 • Polski • Português • Русский • Svenska • 中文(中国大陆) • 中文(台灣) • |
Contents |
[edit] Введение
rsync (англ. remote synchronization) — программа для UNIX-подобных систем, которая эффективно выполняет синхронизацию файлов и каталогов в двух местах (необязательно локальных) с минимизированием трафика, используя кодирование данных при необходимости. Важным отличием rsync от многих других программ/протоколов является то, что зеркалирование осуществляется одним потоком в каждом направлении (а не по одному или несколько потоков на каждый файл). rsync может копировать или отображать содержимое каталога и копировать файлы, опционально используя сжатие и рекурсию. rsync передаёт только изменения файлов, что отражается на производительности программы.
В режиме демона rsync по умолчанию использует TCP-порт 873, синхронизируя файлы по собственному протоколу rsync или через удаленную оболочку RSH или SSH. В последнем случае исполняемый файл клиента rsync должен быть установлен как на локальной, так и на удаленной системах.
Отлично подходит для резервного копирования компьютеров сети в центральное хранилище. В этой статье объясняется, как настроить демон Rsync на маршрутизаторе DD-WRT и подключить к нему клиентские компьютеры в локальной сети.
rsync совместим с Windows, Mac и Linux.
[edit] Требования
- Telnet или SSH
- Настроенная система пакетов Optware
- Скрипт автозапуска для установленных пакетов Optware
- Поддержка USB или внешнего хранилища (для хранения резервных копий)
- Служба Rsyncd
- Клиентское приложение Rsync (для Windows, Mac или Linux)
Хорошая инструкция по настройке USB-накопителя на форуме.
[edit] Установка
Убедитесь, что система пакетов optware настроена правильно и что у вас есть доступ к ushare.
/opt/bin/ipkg-opt update /opt/bin/ipkg-opt list | grep rsync
Возвращает: rsync - 3.0.4-2 - fast remote file copy program (like rcp)
/opt/bin/ipkg-opt install rsync
[edit] Базовая конфигурация сервера
Создайте каталог на USB-накопителе, например /mnt/drive1/rsync/pc1. Необходим накопитель с большим объемом памяти, поскольку на нём будут храниться резервные копии клиентских компьютеров.
vi /opt/etc/rsyncd.conf
Я не уверен, что это самые безопасные UID и GID, но использование uid = nobody и gid = nogroup вызывает ошибки. А так работает просто отлично.
uid = root gid = root use chroot = yes max connections = 5 syslog facility = local3 pid file = /var/run/rsyncd.pid secrets file = /opt/etc/rsyncd.secrets [pc1] path = /path/to/mass/storage/rsync/pc1 comment = PC1 Rsync read only = no auth users = user1 [pc2] path = /path/to/mass/storage/rsync/pc2 comment = PC2 Rsync read only = no auth users = user2
Добавьте столько профилей rsync, сколько вам нужно, просто убедитесь, что вы создали отдельного пользователя для каждого профиля на следующем шаге.
Откройте файл, содержащий список имен пользователей и паролей
vi /opt/etc/rsyncd.secrets
И задайте для каждого профиля имя пользователя и пароль в отдельной строке
user1:mypassword1 user2:mypassword2
Включить службу Rsync
vi /opt/etc/default/rsync
Изменив RSYNC_ENABLE=false на RSYNC_ENABLE=true
Запустите службу Rsync
/opt/etc/init.d/S57rsyncd start
Проверьте, работает ли она
ps | grep rsync
Должен отобразится
30081 root 1456 S /opt/bin/rsync --daemon
[edit] Конфигурация клиента: Microsoft Windows
Я обнаружил, что программа DeltaCopy работает довольно быстро и без проблем как Windows-клиент.
Настройка довольно проста. Создайте новый профиль и установите следующие настройки:
- Profile Name: любое имя профиля
- Server IP: 192.168.1.1 или любой другой IP-адрес маршрутизатора
- Virtual Directory Name: pc1 или как вы называли свой профиль в файле конфигурации rsync.conf (название секции вида "[pc1]")
Проверьте соединение (Test Connection) и добавьте профиль (Add Profile).
Нажмите на имя профиля и нажмите на вкладку аутентификации Authentication Tab.
Введите имя пользователя и пароль, которые вы указали в файле /opt/etc/rsyncd.secrets.
[edit] Конфигурация клиента: Apple macOS
Настройка macOS выполняется легко, так как rsync поставляется со всеми последними версиями системы. Просто используйте rsync, как в системе Linux. Например, чтобы создать резервную копию домашнего каталога для пользователя с именем John, в профиль с названием 'pc1':
rsync -az /Users/john user1@192.168.1.1:pc1
[edit] Конфигурация клиента: Linux
sudo apt-get install rsync
rsync --verbose --progress --stats --compress \ --recursive --times --perms --links --delete --exclude "*~" \ /your/dir/to/backup/* user1@192.168.1.1:pc1
Вы можете настроить планировщик Cron, чтобы он делал это в ночное время.
[edit] Вопросы или комментарии
Вы можете написать автору статьи, чтобы задать какие-либо вопросы по адресу электронной почты:
undertoe собака chemlab точка com
[edit] Ссылки
Полезные статьи и информация о macOS: