Novij Backup Agent

0.6.09.131414

Package site

Novij Backup Agent

Изменения

  • Обновление Relay не обрывает отправку, если он явно подтвердил отказ до

начала операции. Агент ограниченно повторяет тот же запрос без новых nonce,

подписей или идентификаторов. Неопределённые платежи не повторяются.

  • Уведомления переведены на русский: компактные даты и идентификаторы, без

повторных заголовков и стандартного `main`. Назначение кода восстановления

поясняется рядом с ним; формат самого кода и полные идентификаторы сохранены.

  • Рабочие копии файлов и SQL dumps можно вынести в `agent.staging_dir` на

отдельном диске. Tar и скачанные архивы остаются в `temp_dir`; прерванная

отправка по-прежнему продолжается из неизменяемого checkpoint. Старые конфиги

сохраняют прежнее размещение. Документация описывает разнесённые ночные timers.

  • ZK-купон, список блоков, пополнение и проверка баланса используют одну

финансовую сессию на primary из активного Registry. Роль узла проверяется

до платежа; задержка репликации другого Relay не вызывает повторную оплату.

  • Повторный сбой во время `resume` не теряет уже проверенные блоки из конца

контрольной точки. Обновление checkpoint отвергает изменённый исходный архив.

  • Временная недоступность Relay при чтении блока обрабатывается ограниченными

повторами с новым nonce. Неопределённые платежи, отказ в доступе и ошибки

целостности не повторяются; после исчерпания попыток ошибка остаётся видимой.

  • Интервал fleet-профиля в календарных днях сохраняет время timer и корректно

проходит границы месяцев, лет и часовых поясов. Незавершённая копия продолжается,

а успешно продолжённый снимок не вызывает лишнее повторное снятие источников.

  • Fleet-профиль запускает и очищает только выбранное задание. Отдельные Docker

projects можно сохранять по собственному расписанию вместе с файлами, образами

и SQL dumps; общий lock предотвращает одновременную работу профилей.

  • Повторные ссылки на один блок в batch сохраняют данные во всех позициях.

Кэш Registry у Storage и ZK находится в приватном каталоге агента, включая

запуск systemd без `HOME`; права общего `/tmp` больше не затрагиваются.

  • Выбранные endpoints сохраняются в рамках backend-сессии. Новый транспортный

клиент не повторяет discovery и не выбирает Storage отдельно от billing identity.

  • Commit блоков и платёжные nonce создаются штатными batch-запросами Relay.

Контрольное чтение указывает выдавший nonce Relay для проверки без лишнего

межнодового перехода; Storage принимает только адрес из доверенной топологии.

  • Прерванная отправка сохраняет tar и приватный checkpoint. Команда `resume`

продолжает тот же снимок без повторных dumps; проверенные блоки переиспользуются.

Fleet snapshot продолжает незавершённые отправки перед новым циклом.

Полный архив от старого агента можно проверить и зарегистрировать для продолжения.

  • Большие архивы обрабатываются потоком с ограниченным расходом RAM. Снимки v2

используют независимые сжатые и зашифрованные блоки с границами по содержимому.

Неизменившиеся блоки переиспользуются после контрольного чтения и расшифровки.

  • Каждый manifest содержит полный состав снимка. Большие manifests разделяются

на аутентифицированные части; retention сохраняет все блоки активных снимков.

  • Fleet snapshot обнаруживает проекты, Docker images, MySQL/MariaDB, PostgreSQL,

SQLite и Redis. Нетранзакционные MySQL-таблицы защищаются READ locks на время

дампа; PostgreSQL сохраняет базы и роли, SQLite использует online backup.

  • Ошибки подготовки и retention отправляются в настроенный Telegram transport.

Успешное уведомление содержит recovery-код для восстановления потерянного

local index через `novij-backup recover-index`.

  • При failover агент обнаруживает биллинговый кошелёк нового Storage до создания

платёжных nonce. Уже подтверждённые элементы batch повторно не записываются.

Ожидание ответа записи увеличено до 45 секунд для штатного quorum commit.

  • Публикация проверяет и сохраняет историю пакетов через HTTPS даже при SSH-ключе

без права чтения. Повторная CMake configure сохраняет включённую сборку тестов.

Совместимость и эксплуатация

  • Старые снимки v1 читаются; для восстановления v2 нужна актуальная версия агента.
  • Для staging и несжатого tar требуется до двух размеров исходных файлов и dumps

на локальном диске. Снимок файлов выполняется онлайн и не создаёт единой

атомарной точки времени между независимыми сервисами.

  • Каждый production agent использует отдельный ZK-купон. Ключи расшифровки,

пароли, конфигурацию, index и купон храните в отдельном закрытом recovery-наборе.

  • Права, владельцев, ACL и service-конфигурацию проверяйте при восстановлении:

файловый снимок не является образом диска для автоматического bare-metal DR.

  • Обновление: `sudo novij-backup update`. Настройки и ключи сохраняются.