BitTorrent Inc известна своим легендарным, пиринговым протоколом BitTorrent и клиентом μtorrent. Но есть удивительная утилита BitTorrent Sync - btsync, которая может пригодиться в ИТ хозяйстве администратора.
Что такое btsync?
Минусы btsync.
Установка в систему.
Параметры, используемые в btsync.
Какие бывают ключи-секреты в btsync.
Игнорирование файлов.
Версионность файлов.
Использование btsync с помощью веб интерфейса.
Использование btsync без помощи веб интерфейса.
FAQ btsync.
Сравнение btsync с другими.
BitTorrent Sync - это возможность безопасно с шифрованием передавать файлы между вашими (и только вашими) устройствами с помощью BitTorrent протокола. Не нужны будут новомодные облака, в которые люди заливают шифрованные резервные копии, так как не понятно кто может на стороне облака рыться в ваших файлах.
btsync работает на большинстве современных операционных систем:
Для многих привычно ассоциировать BitTorrent с кучей народа, качающим сообща пиратские фильмы, благодаря торрент-трекерам. Но в случае с btsync - это не так! Для синхронизации ваших файлов между вашими устройствами вы должны будете сгенерировать символьный ключ-секрет. BitTorrent Sync использует /dev/random в Mac и Linux и Crypto API в Windows для создания вашего случайного, Base32-основанного, символьного ключа-секрета. Весь трафик при синхронизации будет зашифрован AES.
Если синхронизация будет осуществляться не в локальной сети, а через Интернет, то могут быть задействованы UDP, NAT traversal и UPnP для прохода шифрованного трафика через маршрутизаторы. Но в любом случае файлы передаются по шифрованным соединениям только между вашими устройствами, которые знают ключ-секрет.
Для решения задачи поиска ваших устройств в сети существуют следующие решения:
btsync - это бесплатная программа с закрытым кодом.
Компания BitTorrent Inc не имеет доступа к зашифрованным файлам, не размещает файлы у себя и никак не контролирует процесс, но собирает анонимную статистику о:
и при определённых ситуациях отправляет её на сервера BitTorrent Inc - смотри подробности в FAQ btsync. Эти минусы могут для кого-то перевесить плюсы программы и знать об них следует заранее.
Дело в том, что скачанный со страницы labs.bittorrent.com/experiments/sync.html бинарник btsync при своём запуске раскидает и создаст нужные ему файлы по вшитым в него путям.
Чтобы сделать всё красиво в Убунту и сразу решить все вопросы с правами доступа на нужные папки и организовать после перезагрузки запуск btsync, можно воспользоваться BitTorrent Sync PPA репозиторием - ppa:tuxpoldo/btsync и добавить его в систему sudo apt-add-repository ppa:tuxpoldo/btsync
Я пошёл другим путём через создание своего деб пакета btsync, который позволил самостоятельно проконтролировать все этапы.
Формат конфигурационного файла должен быть в JSON. В файле конфигураций можно применять следующие параметры:
btsync --generate-secret
чтобы получить себе уникальный ключ. О ключах-секретах чуть ниже.btsync --generate-secret
btsync --get-ro-secret МАСТЕР-КЛЮЧ
. Используется только в односторонних синхронизациях.Если вы выдали для синхронизации папки и файлы, но некоторые файлы вы хотели бы исключить из операций синхронизации, то файл .SyncIgnore в кодировке UTF-8 вам поможет.
Поддерживаются маски для файлов - * и ?
BitTorrent Sync поддерживает версионность файлов со своего релиза 1.1.16. По умолчанию старые файлы хранятся 30 дней в подпапке .SyncArchive/. Период хранения можно настроить через параметр sync_trash_ttl. Старые версии файлов маркируются дополнительным числом в имени файла и чем выше число, тем более "поздняя" версия этого файла.
Для работы веб интерфейса нужно:
1) отсутствие в конфигурационном файле блока shared_folders. Расшаривать папки будете уже в веб-интерфейсе.
2) наличие в конфигурационном файле блока webui.
Пример
"webui" :
{
"listen" "0.0.0.0:8888",
"login" "admin",
"password" "pa$$1admin2very3Strong!"
}
С помощью веб-интерфейса совсем не сложно расшарить папку. Используйте вначале кнопку Добавить папку (Add Folder) и нажмите один и только один раз кнопку Сгенерировать (Generate) и сохраните ваш ключ-секрет. Укажите Путь (Path) к папке, которая будет участвовать в синхронизации.
На остальных ваших устройствах больше не нажимайте кнопку Сгенерировать (Generate), а просто добавляйте папки и указывайте уже полученный ключ-секрет.
Админам, возможно, захочется настроить синхронизацию множества серверов, без висения лишнего порта с веб-интерфейсом, хоть и защищённый паролем.
Мне нужно было настроить синхронизацию среди 3 серверов, где каждый бы из серверов складывал свои резервные копии в определённую папку, а файлы из неё с помощью btsync синхронизировались на другие два сервера, что создавало нужную избыточность.
Веб-интерфейс сам отключится, если
1) присутствует в конфигурационном файле блок shared_folders.
2) отсутствие блока webui или его параметра listen.
С помощью команды btsync --generate-secret
был получен ключ-секрет AVE43EXY2TMKKXZISGEJ7S7NSGGPHRJBR , который был прописан в параметре secret блока shared_folders. Так как синхронизация будет проходить в стенах локальной сети, то отключены такие технологии как трекер, DHT, релей-сервер. А раз речь идёт о локальной сети, то указаны все IP адреса серверов в блоке known_hosts. Пользователю, от которого будет работать btsync, даны права на запись в каталоги /var/dump_backup/, /var/run/btsync/ и /usr/local/lib/btsync/.
В моём случае, конф /etc/btsync/sync.conf приобрёл вид:
{
"device_name": "node1",
"listening_port" : 8889,
"storage_path" : "/usr/local/lib/btsync/",
"pid_file" : "/var/run/btsync/btsync.pid",
"check_for_updates" : false,
"use_upnp" : false,
"disk_low_priority" : true,
"lan_encrypt_data" : true,
"lan_use_tcp" : true,
"max_file_size_diff_for_patching" : 50,
"folder_rescan_interval" : 60,
"download_limit" : 0,
"upload_limit" : 0,
"shared_folders" :
[
{
"secret" : "AVE43EXY2TMKKXZISGEJ7S7NSGGPHRJBR",
"dir" : "/var/dump_backup/",
"use_relay_server" : false,
"use_tracker" : false,
"use_dht" : false,
"search_lan" : false,
"use_sync_trash" : false,
"known_hosts" :
[
"10.0.1.11:8889",
"10.0.1.22:8889",
"10.0.1.33:8889"
]
}
]
}
Данный конфиг был растиражирован на остальные сервера и подправлен только параметр device_name, который должен быть уникален в пределах вашей системы синхронизации. Рестарт службы btsync на всех серверах - sudo /etc/init.d/btsync restart
и теперь любой файл, попавший в каталог /var/dump_backup/ окажется на всех остальных серверах в их локальных каталогах /var/dump_backup/.
Синхронизация будет происходить только внутри локальной сети.
Общее:
Rsync (Remote Synchronization) помогает при безопасной передаче между сетевыми устройствами.
Rsync умеет с помощью алгоритма rolling checksum эффективно передавать изменения в файле, если на противоположной стороне есть отличающаяся версия этого файла. Следует знать, что за это приходится платить бо́льшей загрузкой CPU, хотя резервное копирования с помощью Rsync делается в часы минимальной нагрузки и процессоры стали настолько мощные, что данный "минус" можно не принимать в рассчёт. То есть Rsync и BTSync, каждый по своему, умеет передавать данные безопасно и передавать изменения (дельты) огромных файлов, когда в пункте назначения есть старая копия файла.
Различия:
Rsync "связывает" одномоментно только 2 устройства и можно двухсторонне синхронизироваться: А с Б и Б с А. Обычно Rsync применяют в схемах когда устройства (сервера, десктопы) копируют свои резервные копии на единый сервер бакапа.
Плюсом Rsync против BTSync является лучшая информативность о ходе синхронизации. BTSync скудно пишет в свой журнал чем он занят в данный момент.
Rsync является свободной программой, а BTSync - нет и это минус.
Общее:
Zsync создавался с оглядкой на Rsync в попытке создать инструмент, который эффективно решал бы проблему передачи по сети только изменений огромных файлов, типа образов ISO операционных систем и чтобы вся нагрузка была на стороне клиента, а не сервера. Для решения своих задач BTSync опирается на куски-чанки, а Zsync использует следующую схему. Всякий раз, когда происходит изменение некоего огромного файла нужно вызывать zsyncmake для создания индексного файла, который должен находится рядом с файлом, для которого он и был создан. Если загрузка осуществляется первый раз, то zsync автоматически загрузит весь файл и это будет похоже на скачивание файла с помощью wget. Но если файл загружается повторно, zsync загрузит индексный файл, оценит изменения между локальным и удалённым файлом и загрузит только изменившиеся блоки данных.
Различия:
Zsync - это синхронизация только в одну сторону и только между двух сторон! Клиент разгружает сервер, скачивая только дельты. Zsync'у очень нужен на стороне сервера - http-сервер, допускающий загрузку отдельных частей файла с помощью Range. BTSync - это множественная синхронизация в обе стороны среди всех участников.
Zsync эффективен для единичных файлов огромных размеров, который незначительно меняется время от времени. BTSync в этом вопросе намного универсальнее. Он может передавать мелкие файлы целиком, а огромные файлы через передачу только изменений.
Сто́ит или не сто́ит использовать BTSync? Этот вопрос должен решить каждый для себя сам. Утилита закрытая - это факт! Если её "успокоить", то она не будет отправлять анонимную статистику своим авторам, если кого-то это нервирует. В остальном это просто удивительный механизм синхронизации в неком едином поле, контролируемым только вами. Без посредников, без облаков, без оплаты.
Связующие звенья:
GUI для BitTorrent Sync.
Дружище zsync спешит на помощь.
Обновление пакетов Ubuntu через BitTorrent.
Скачиваем образы и обновляем Ubuntu по прогрессивным технологиям.
Главная
Новости
Ворох бумаг
Видео Linux
Игры в Linux
Безопасность
Статьи об Astra Linux
Статьи о FreeBSD
Статьи об Ubuntu
Статьи о Snappy
Статьи об Ubuntu Phone
Статьи о Kubuntu
Статьи о Xubuntu
Статьи о Lubuntu
Статьи об Open Source
Карта сайта
1С под Linux. Ускорение Ubuntu. 21 пример iptables. Цикл статей о Ceph. Убунту в дикой среде. Ubuntu Linux на SSD. Ubuntu для блондинок. Поддержка железа в Linux. BTSync на службе у админа. Андроид программы в Ubuntu. Прокидывание портов для p2p. Анти СПАМ в Postfix. How to invest bitcoin etf what is it investor experience . ZenCrypto Pro https://zencrypto.pro/ review