БЭКАПЛЕНД - РЕЗЕРВНОЕ КОПИРОВАНИЕ ДЛЯ ВСЕХ!
- Демо доступ
- Вход
- Регистрация
Как установить и настроить Rsync
Wiki : Rsync (англ. Remote Synchronization) — программа для UNIX-подобных систем, которая выполняет синхронизацию файлов и каталогов в двух местах с минимизированием трафика, используя кодирование данных при необходимости. Важным отличием rsync от многих других программ/протоколов является то, что зеркалирование осуществляется одним потоком в каждом направлении (а не по одному или несколько потоков на каждый файл). rsync может копировать или отображать содержимое каталога и копировать файлы, опционально используя сжатие и рекурсию.
Rsync является общепризнанным программным обеспечением, которое работает надежно и быстро. Бэкапленд использует его для оптимального механизма создания резервных копий, а так же по причине его массовой распространенности на серверах, что означает, что вы сможете работать с нашей системой без каких-либо настроек на вашей стороне. Но из каждого правила существуют исключения, поэтому ниже мы предлагаем подробную инструкцию как установить и настроить Rsync на серверах с операционными системами Debian, Ubuntu, Centos и FreeBSD.
Проверка:
Проверьте установлен ли rsync:
выполните команду в ssh: whereis rsync если ответом будет /usr/local/bin/rsync или /usr/bin/rsync то rsync у вас есть, вам его устанавливать не нужно.
Так же можете проверить, просто запустив команду в ssh: rsync или /usr/local/bin/rsync или /usr/bin/rsync если будет ответ, а не ошибка, тогда вам его устанавливать не нужно.
Установка:
Описанные далее установка и настройка rsync возможны, только если у Вас есть права root. Если таких прав нет, напишите Вашему системному администратору или в техническую поддержку хостинга с просьбой установить rsync.
Для FreeBSD:cd /usr/ports/net/rsync
make install
Для Linux Debian и Ubuntu:apt-get install rsync
Для Centos:yum install -y rsync
Настройка:
Настраивать rsync нужно только в одном случае, если Вы хотите, чтобы наша система создавала резервные копии не через SSH, а через демон rsyncd.
Через файл конфигурации настройки rsyncd вы можете:
- Задать своего пользователя и пароль
- Разрешить вход к вам только с определенного IP/хоста (наш хост при заказе мы вам высылаем)
- Разрешить доступ к конкретным директориям и файлам на вашей системе
Настройка rsync для FreeBSD:cd /usr/local/etc/
cоздаем файл приветствия (не обязательно)echo "Hello from rsync server" > rsyncd.motd
echo "Server Adress: My SuperHost 1.1.1.1" >> rsyncd.motd
создаем файл c именем пользователя и паролемecho "backup:ПАРОЛЬ" > rsyncd.scrt
chmod 0600 /usr/local/etc/rsyncd.scrt
где ПАРОЛЬ тот, что мы выдаем вам при создании в панели управления задания на резервное копирование. В дальнейшем вы можете изменить пароль на свой в файле rsyncd.scrt и на сервере хранения резервных копий в файле /var/www/rc-******/data/rsyncd.pass, где rc-****** ваш логин на сервер с бэкапами.
Внимание! Если пароли на вашем сервере и сервере с бэкапами не совпадут, резервные копии создаваться не будут.
Далее создаем основной конфиг rsyncd.conf
1) cd /usr/local/etc/
2) mv rsyncd.conf rsync.original
3)
cat << EOF >> /usr/local/etc/rsyncd.conf
pid file = /var/run/rsyncd.pid
motd file = /usr/local/etc/rsyncd.motd
uid = root
gid = wheel
max connection = 4
auth users = backup
secrets file = /usr/local/etc/rsyncd.scrt
[root]
path = /
read only = yes
host allow = ssh.bkp177.backupland.com
EOF
4) /usr/local/etc/rc.d/rsyncd restart
Теперь настраиваем так, чтобы после перезагрузки сервера у вас запускался демон rsyncd
Делаем отступ с переносом на следующую строку echo "" >> /etc/rc.conf
Добавлем разрешение запускать при старте echo 'rsyncd_enable="YES"' >> /etc/rc.conf
Настройка rsync для Linux Debian и Ubuntu:
Находите файл /etc/default/rsync
В нем находите строку:
RSYNC_ENABLE=false
и меняете на:
RSYNC_ENABLE=true
Таким образом мы разрешаем при загрузке сервера запустить демон rsyncd
Далее создадим папку для наших файлов:mkdir /etc/rsync/
cd /etc/rsync/
создаем файл приветствия (не обязательно)echo "Hello from rsync server" > rsyncd.motd
echo "Server Adress: My SuperHost 1.1.1.1" >> rsyncd.motd
создаем файл c именем пользователя и паролемecho "backup:ПАРОЛЬ" > rsyncd.scrt
chmod 0600 /etc/rsync/rsyncd.scrt
где ПАРОЛЬ тот, что мы выдаем вам при создании в панели управления задания на резервное копирование. В дальнейшем вы можете изменить пароль на свой в файле rsyncd.scrt и на сервере хранения резервных копий в файле /var/www/rc-******/data/rsyncd.pass, где rc-****** ваш логин на сервер с бэкапами.
Внимание! Если пароли на вашем сервере и сервере с бэкапами не совпадут, резервные копии создаваться не будут.
Далее создаем основной конфиг rsyncd.conf cd /etc/ Обратите внимание на то, что файл rsyncd.conf должен быть расположен в папке /etc/
mv rsyncd.conf rsyncd.old делаем так на всякий случай, вдруг файл такой уже есть
cat << EOF >> /etc/rsyncd.conf
pid file = /var/run/rsyncd.pid
motd file = /etc/rsync/rsyncd.motd
uid = root
gid = root
max connection = 4
auth users = backup
secrets file = /etc/rsync/rsyncd.scrt
[root]
path = /
read only = yes
host allow = ssh.bkp177.backupland.com
EOF
/etc/init.d/rsyncd restart
Настройка rsync для Centos 6:
Устанавливаем xinetd (нужен для пуска rsync сервера): yum install -y xinetd
Находите файл /etc/xinetd.d/rsync, в нем находите строку:
disable = yes
и меняете на:
disable = no
Перезагружаем сервис xinetd:/etc/init.d/xinetd restart
Добавляем xinetd в автозапуск:chkconfig xinetd on
Конфиг создаем такой же как и для Centos 7 (смотри ниже).
Настройка rsync для Centos 7:
Включаем в автозагрузкуsystemctl enable rsyncd.service
Запускаем rsyncd демонsystemctl start rsyncd.service
Далее создадим папку для наших файлов:mkdir /etc/rsync/
cd /etc/rsync/
создаем файл приветствия (не обязательно)echo "Hello from rsync server" > rsyncd.motd
echo "Server Adress: My SuperHost 1.1.1.1" >> rsyncd.motd
создаем файл c именем пользователя и паролемecho "backup:ПАРОЛЬ" > rsyncd.scrt
chmod 0600 /etc/rsync/rsyncd.scrt
где ПАРОЛЬ тот, что мы выдаем вам при создании в панели управления задания на резервное копирование. В дальнейшем вы можете изменить пароль на свой в файле rsyncd.scrt и на сервере хранения резервных копий в файле /var/www/rc-******/data/rsyncd.pass, где rc-****** ваш логин на сервер с бэкапами.
Внимание! Если пароли на вашем сервере и сервере с бэкапами не совпадут, резервные копии создаваться не будут.
Далее создаем основной конфиг rsyncd.conf
cd /etc/Обратите внимание на то, что файл rsyncd.conf должен быть расположен в папке /etc/
mv rsyncd.conf rsyncd.oldделаем так на всякий случай, вдруг файл такой уже есть.
cat << EOF >> /etc/rsyncd.conf
pid file = /var/run/rsyncd.pid
motd file = /etc/rsync/rsyncd.motd
uid = root
gid = root
max connection = 4
auth users = backup
secrets file = /etc/rsync/rsyncd.scrt
[bkpl]
path = /
read only = yes
host allow = ssh.bkp177.backupland.com
EOF
Применяем настройки
для Centos 7systemctl restart rsyncd.serviceдля Centos 6service xinetd restart
Если у вас на сервере установлен Firewall вам нужно разрешить входящие соединение на порт 873
Описание полей файла конфигурации rsyncd.conf
pid file = /var/run/rsyncd.pid | #pid файл хранящий ID процесса |
motd file = /usr/local/etc/rsyncd.motd | #файл приветствия |
uid = root | #работа под правами этого пользователя* |
gid = wheel | #работа с правами этой группы* |
max connection = 4 | #кол-во коннектов со стороны сервиса |
auth users = backup | #логин пользователя для доступа извне |
secrets file = /usr/local/etc/rsyncd.scrt | #файл с логином и паролем для доступа извне |
[bkpl] | #секция, в которой описано что можно делать |
path = / | #Какую папку можно бэкапить |
read only = yes | #Разрешено только бэкапить, восстановить нельзя будет |
host allow = ssh.bkp177.backupland.com | #сервер, где будут храниться резервные копии |
Внимание! Вместо ssh.bkp177.backupland.com необходимо указать тот хост, который Вы получили при регистрации. Аналогично, путь /usr/local/etc/ зависит от того, какая установлена операционная система.
* Если вы не собираетесь резервировать весь сервер, тогда права root вы можете заменить на права пользователя, файлы которого вы будете бэкапить.