В этом руководстве показано, как настроить и использовать BitTorrent Sync для автоматического создания резервных копий на сервере Linux. BitTorrent Sync дает возможность синхронизировать директории между устройствами с помощью протокола BitTorrent. Вы можете напрямую синхронизировать папки между своим компьютером и мобильным устройством, без необходимости загружать данные на сторонние серверы. Передаваемая информация защищена 256-битным шифрованием AES.
Для синхронизации папок через протокол BitTorrent необходимо, чтобы как минимум два устройства были подключены к сети одновременно. Вероятно, ваш персональный компьютер не будет постоянно включен, однако ситуация с сервером отличается. Серверы функционируют практически непрерывно и имеют постоянный доступ к Интернету. Поэтому применение BitTorrent Sync для создания резервных копий вашего Linux-сервера — отличное решение.
Содержание статьи
- 1 Варианты синхронизации
- 2 Создание резервной копии сервера Linux с использованием конфигурации главного и подчиненного серверов.
- 3 Создание резервной копии сервера Linux с использованием вашего домашнего ПК.
- 4 Создание резервной копии сервера Linux с использованием Raspberry Pi.
- 5 Автоматический запуск при старте системы
Варианты синхронизации
- Если у вас есть два Linux-сервера, которые постоянно работают и имеют доступ к Интернету, вы можете настроить автоматическую синхронизацию папок между ними с помощью BitTorrent Sync.
- У вас есть единственный сервер на Linux. Возможно настроить синхронизацию папок между этим сервером и вашим домашним ПК. При включении компьютера он автоматически загружает новые данные с вашего Linux-сервера.
- Если у вас есть Raspberry Pi, вы можете оставлять его включенным круглосуточно и настроить синхронизацию папок между сервером на Linux и RPi. В итоге, Raspberry Pi потребляет совсем немного электроэнергии и не окажет значительного влияния на ваши расходы.
Хорошо, приступим.
Создание резервной копии сервера Linux с использованием конфигурации главного и подчиненного серверов.
Если у вас имеется два сервера, вы можете настроить один как основной, а другой как вспомогательный. Это означает, что обновления содержимого вашего веб-сайта будут производиться на основном сервере, в то время как вспомогательный сервер будет иметь доступ только для чтения синхронизируемой папки на основном сервере, но не сможет добавлять туда новые данные. Вспомогательный сервер используется исключительно для резервного копирования.
Настройка BitTorrent Sync на главном сервере.
Вы можете воспользоваться следующим способом для установки BitTorrent на любую версию Linux.
Подключитесь к своему серверу Linux по SSH и скачайте версию BitTorrent Sync для данной операционной системы.
wget https://download-cdn. getsync.com/stable/linux-x64/BitTorrent-Sync_x64.tar.gz
wget https://download-cdn. getsync.com/stable/linux-i386/BitTorrent-Sync_i386.tar.gz
Разархивируйте файл в формате tar.
tar xvf BitTorrent-Sync_*.tar.gz
Теперь в текущем рабочем каталоге будет распакован новый исполняемый файл под названием btsync, который готов к использованию.
sudo nano /etc/nginx/conf.d/sync. yourdomain.com.conf
Поместите указанный текст в документ.
server < listen 80; server_name sync. yourdomain.comПеренаправьте на 301 по следующему адресу: https://sync. yourdomain.com$request_uri; > server < listen 443 ssl; server_name sync. yourdomain.comssl_protocols TLSv1.1 TLSv1.2; ssl_certificate /etc/letsencrypt/live/sync. yourdomain.com/fullchain. pem; ssl_certificate_key /etc/letsencrypt/live/sync. yourdomain.com/privkey. pem; журнал_доступа /var/log/nginx/sync. yourdomain.com.lg; место /< proxy_pass http://127.0.0.1:8888; >>
Сохраните и закройте файл. Данная настройка будет направлять все стандартные HTTP-запросы на HTTPS, при этом сервер будет обрабатывать только соединения с использованием TLSv1.1 и TLSv1.2. Когда вы введете sync. yourdomain.com в адресной строке вашего браузера, Nginx перенаправит запрос на 127.0.0.1:8888.
sudo service nginx reload or sudo systemctl reload nginx
Теперь вы можете войти в интерфейс Sync WebUI, посетив sync. yourdomain.com. Установите имя пользователя и пароль для обеспечения безопасности WebUI.

После создания аккаунта и входа в WebUI, наступает момент добавления папки на мастер-сервер для синхронизации. Однако, чтобы добавить папку для этого процесса, пользователь, запускающий btsync, должен обладать правами на запись в синхронизируемую папку.
Пользователь, который запускает процесс btsync, — это тот, кто инициирует команду btsync.
Допустим, вам необходимо синхронизировать корневую папку веб-сервера, например, /usr/share/nginx/. Эта папка принадлежит пользователю www-data и группе www-data. Разрешения для нее установлены на уровне 755, что позволяет только пользователю www-data осуществлять запись.
drwxr-xr-x 7 www-data www-data 4096 Mar 9 21:58 nginx
Для того чтобы пользователю www-data и пользователю, запускающему btsync, были даны права на запись, можно воспользоваться командой setfacl, чтобы предоставить эти права пользователю, работающему с btsync.
sudo setfacl - R - m "u: :rwx" /usr/share/nginx
Таким образом, как www-data, так и пользователь смогут записывать данные в корневую директорию веб-сервера. Теперь можно добавить эту директорию для синхронизации. Программа btsync создаст ссылку для общего доступа, секретный ключ и QR-код для данной папки синхронизации.

Конфигурация резервного сервера
Настройка резервного сервера во многом аналогична процессу конфигурации основного. Вам потребуется установить программу btsync, получить ещё один бесплатный SSL-сертификат от Let’s Encrypt и настроить обратный прокси-сервер Nginx. После этого создайте аккаунт для защиты интерфейса WebUI.
Главное различие состоит в том, что после входа в WebUI резервного сервера необходимо нажать на стрелку в верхнем левом углу и выбрать опцию «Ввести ключ или ссылку» из появившегося списка.

После этого откройте веб-интерфейс основного сервера, нажмите на кнопку «Поделиться», скопируйте ключ для чтения и вставьте его в веб-интерфейс вспомогательного сервера.

Затем необходимо выбрать каталог на слейв-сервере, куда будут загружаться файлы с мастера. Существует два ключа: один предназначен для чтения и записи, а другой — исключительно для чтения. Мы используем только ключ для чтения, поскольку не хотим, чтобы слейв-сервер мог добавлять новые данные в папку синхронизации.
Сейчас оба сервера приступают к синхронизации.
Создание резервной копии сервера Linux с использованием вашего домашнего ПК.
Если ваш домашний компьютер работает на Linux, воспользуйтесь указанным ранее способом для установки BitTorrent Sync. После завершения установки вы сможете сразу запустить btsync и начать процесс синхронизации, без необходимости настраивать обратный прокси-сервер Nginx или устанавливать SSL-сертификат.
Создание резервной копии сервера Linux с использованием Raspberry Pi.
BitTorrent Sync доступен в версии для ARM, поэтому необходимо загрузить установочный файл для Raspberry Pi и затем распаковать его.
wget https://download-cdn. getsync.com/stable/linux-arm/BitTorrent-Sync_arm. tar.gz
Если ваш Raspberry Pi работает без экрана, вы можете сделать WebUI доступным в локальной сети или через Интернет, запустив Sync следующим образом:
./btsync --webui. listen 0.0.0.0:8888
Вам больше не потребуется устанавливать SSL-сертификат на Raspberry Pi или настраивать обратный прокси-сервер Nginx.
Автоматический запуск при старте системы
Для того чтобы BitTorrent Sync запускался автоматически при старте системы, необходимо создать задачу cron от имени обычного пользователя.
crontab - e
Добавьте эту строку в конце.
@reboot /path/to/btsync --webui. listen 0.0.0.0:8888
Укажите реальный путь вместо /path/to/btsync. Если btsync должен работать только на localhost (127.0.0.1), удалите фрагмент – webui. listen 0.0.0.0:8888.
Резервное копирование сервера на Linux — это легко, удачной синхронизации!

