Обратите внимание, что это README для ветки borg2/master.
Документацию по стабильной версии можно найти здесь:
https://borgbackup.readthedocs.io/en/stable/
Borg2 в настоящее время находится на стадии бета-тестирования и может получить серьезные и/или критические изменения между бета-версиями (и нет кода обновления от бета-версии до следующей бета-версии, поэтому вам придется удалить и заново создать репозитории).
Таким образом, НЕ ИСПОЛЬЗУЙТЕ BORG2 ДЛЯ ПРОИЗВОДСТВЕННЫХ РЕЗЕРВНЫХ КОПИЙ! Пожалуйста, помогите с его тестированием, но настройте его дополнительно к вашим производственным резервным копиям.
TODO: скринкасты нужно переделать с помощью borg2, см. там:
#6303
BorgBackup (сокращенно: Borg) — это программа резервного копирования с дедупликацией. Опционально он поддерживает сжатие и шифрование с проверкой подлинности.
Основная цель Borg — предоставить эффективный и безопасный способ резервного копирования данных. Используемый метод дедупликации данных делает Borg подходящим для ежедневного резервного копирования, поскольку сохраняются только изменения. Метод шифрования с аутентификацией делает его пригодным для резервного копирования на цели, которым не полностью доверяют.
См. руководство по установке или, если вы уже загрузили Borg, docs/installation.rst
чтобы начать работу с Borg. Также доступна автономная документация в нескольких форматах.
Экономичное пространство для хранения
Дедупликация на основе фрагментов, определяемых содержимым, используется для уменьшения количества хранимых байтов: каждый файл разбивается на несколько фрагментов переменной длины, и в репозиторий добавляются только фрагменты, которые никогда раньше не использовались.
Чанк считается дубликатом, если его значение id_hash идентично. В качестве id_hash используется криптостойкий хэш или функция MAC, например (hmac-)sha256.
При дедупликации учитываются все фрагменты в одном репозитории, независимо от того, взяты ли они с разных машин, из предыдущих резервных копий, из одной резервной копии или даже из одного и того же файла.
По сравнению с другими подходами к дедупликации, этот метод НЕ зависит от:
имена файлов/каталогов остаются прежними. Таким образом, вы можете перемещать свои файлы, не отключая дедупликацию, даже между машинами, использующими общий репозиторий.
целые файлы или временные метки остаются неизменными: если большой файл немного изменяется, нужно сохранить только несколько новых фрагментов — это отлично подходит для виртуальных машин или необработанных дисков.
Абсолютное положение фрагмента данных внутри файла: материал может сместиться, но алгоритм дедупликации все равно его найдет.
Скорость
код, критичный к производительности (разбиение на части, сжатие, шифрование), реализован на C/Cython
локальное кэширование
быстрое обнаружение неизмененных файлов
Шифрование данных
Все данные могут быть защищены на стороне клиента с помощью 256-битного шифрования с проверкой подлинности (AES-OCB или chacha20-poly1305), обеспечивая конфиденциальность, целостность и подлинность данных.
Обфускация
При желании borg может активно запутывать, например, размер файлов/кусков, чтобы затруднить атаки по сбору отпечатков пальцев.
Сжатие
Все данные могут быть дополнительно сжаты:
lz4 (сверхбыстрый, низкое сжатие)
zstd (широкий диапазон от высокой скорости и низкого сжатия до высокого сжатия и более низкой скорости)
zlib (средняя скорость и сжатие)
lzma (низкая скорость, высокое сжатие)
Внешние резервные копии
Borg может хранить данные на любом удаленном хосте, доступном через SSH. Если Borg установлен на удаленном хосте, можно добиться большого прироста производительности по сравнению с использованием сетевой файловой системы (sshfs, nfs, ...).
Резервные копии, монтируемые как файловые системы
Архивы резервных копий можно монтировать как файловые системы пользовательского пространства для удобного интерактивного просмотра и восстановления резервных копий (например, с помощью обычного файлового менеджера).
Простая установка на нескольких платформах
Мы предлагаем однофайловые бинарные файлы, которые не требуют никакой установки — вы можете просто запустить их на этих платформах:
Линукс
macOS
FreeBSD
OpenBSD и NetBSD (пока нет поддержки xattrs/ACL или двоичных файлов)
Cygwin (экспериментальный, двоичных файлов пока нет)
Подсистема Linux в Windows 10 (экспериментальная)
Бесплатное программное обеспечение с открытым исходным кодом
безопасность и функциональность могут быть проверены независимо
лицензировано по лицензии BSD (3 пункта), полную лицензию см. в разделе «Лицензия».
Для удобства использования установите переменную среды BORG_REPO:
$ экспорт BORG_REPO=/путь/к/репо
Создайте новый репозиторий резервных копий (параметры шифрования см. в borg repo-create --help
):
$ borg repo-create -e repokey-aes-ocb
Создайте новый резервный архив:
$ borg create Monday1 ~/Documents
Теперь делаю еще одно резервное копирование, просто чтобы продемонстрировать великолепную дедупликацию:
$ borg create -v --stats Monday2 ~/Documents Репозиторий: /путь/к/репо Название архива: Monday2 Архивный отпечаток пальца: 7714aef97c1a24539cc3dc73f79b060f14af04e2541da33d54c7ee8e81a00089. Время (начало): Пн, 03.10.2022 19:57:35 +0200 Время (конец): Пн, 03.10.2022 19:57:35 +0200 Продолжительность: 0,01 секунды Количество файлов: 24 Исходный размер: 29,73 МБ. Дедуплицированный размер: 520 Б.
Ваша помощь всегда приветствуется!
Распространяйте информацию, оставляйте отзывы, помогайте с документацией, тестированием или разработкой.
Вы также можете оказать денежную поддержку проекту, подробности смотрите здесь:
https://www.borgbackup.org/support/fund.html
Главный веб-сайт
Релизы, пакеты PyPI и журнал изменений
Офлайн-документация
GitHub и система отслеживания проблем.
Веб-чат (IRC) и список рассылки
Лицензия
Контактное лицо службы безопасности
ОЖИДАЙТЕ, ЧТО МЫ НАРУШИМ СОВМЕСТИМОСТЬ НЕоднократно, ПРИ ИЗМЕНЕНИИ ОСНОВНОГО НОМЕРА ВЫПУСКА (например, при переходе с 0.xy на 1.0.0 или с 1.xy на 2.0.0).
НЕ ВЫПУЩЕННЫЕ ВЕРСИИ РАЗРАБОТКИ ИМЕЮТ НЕИЗВЕСТНЫЕ СВОЙСТВА СОВМЕСТИМОСТИ.
ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ В РАЗРАБОТКЕ, РЕШИТЕ САМИ, СООТВЕТСТВУЕТ ЛИ ОНО ВАШИМ ПОТРЕБНОСТИ.
О проблемах безопасности следует сообщать контактному лицу по безопасности (или см. docs/support.rst
в исходном дистрибутиве).