Novij Backup Agent

Linux backup daemon на Novij Protocol. Пакет: 0.6.05.231439.

Установка

curl -fsSL https://packages.novij.tech/backup-agent/install.sh | sudo bash

Ручная установка

latest .deb · SHA256SUMS

curl -fsSLO https://packages.novij.tech/backup-agent/latest/novij-backup-agent_amd64.deb
curl -fsSLO https://packages.novij.tech/backup-agent/latest/SHA256SUMS
sha256sum -c SHA256SUMS
sudo apt install -y ./novij-backup-agent_amd64.deb
Релизы

На сервере хранятся последние 3 релиза.

Команды
novij-backup init [--wizard] [--project id] [--path path] [--mysql db] [--mysql-user user] [--mysql-defaults-file path] [--postgres db] [--postgres-user user] [--pgpass-file path] [--docker-volume name] [--docker-path container:/path]
Создаёт базовые директории и config.yaml.
novij-backup config validate
Проверяет конфиг и права на файлы.
novij-backup service-key validate <file> [--passphrase value]
Проверяет service-key без импорта.
novij-backup service-key import <file> [--passphrase value]
Импортирует service-key в системный каталог.
novij-backup run --job <name> [--local-only]
Запускает backup выбранной задачи.
novij-backup run --all-enabled
Запускает все включённые задачи.
novij-backup doctor
Проверяет конфиг, каталоги, service-key и утилиты.
novij-backup logs [--lines n]
Показывает последние строки agent.log.
novij-backup events [--lines n] [--errors]
Показывает короткий событийный лог: backup, verify, update и ошибки.
novij-backup estimate [--job name]
Оценивает размер файлов перед backup.
novij-backup update [--check] [--force] [--dry-run]
Проверяет и ставит свежий пакет агента.
novij-backup key init
Создаёт локальный backup encryption key.
novij-backup key status
Показывает состояние backup-key и owner recovery.
novij-backup key rotate
Создаёт новый backup-key для следующих backup.
novij-backup key export-recovery --out <file>
Экспортирует recovery-файл для восстановления backup-key.
novij-backup key import-recovery <file>
Импортирует recovery-файл на другой машине.
novij-backup migrate encrypt-manifests
Шифрует старые plaintext remote manifests.
novij-backup list [--project id] [--agent id] [--job name]
Показывает локальный индекс backup.
novij-backup show <backup_id> [--project id] [--agent id] [--job name]
Показывает manifest выбранного backup.
novij-backup verify <backup_id> [--project id] [--agent id] [--job name] [--repair-zk] [--local-only]
Проверяет manifest, блоки, checksum и ZK coverage.
novij-backup restore <backup_id> --to <path> [--force] [--dry-run] [--only-db name] [--local-only]
Восстанавливает backup в указанную директорию.
novij-backup project list
Показывает известные проекты.
novij-backup project init <name>
Создаёт project_id для нового проекта.
novij-backup agent status
Показывает состояние агента, project_id и agent_id.
novij-backup zk status
Показывает статус ZK lease.
novij-backup zk sync
Синхронизирует подписанный список block_id.
novij-backup retention plan [--job name]
Показывает, какие backup будут оставлены или просрочены.
novij-backup retention apply [--job name]
Применяет retention policy к локальному индексу и ZK coverage.
novij-backup daemon
Запускает режим системного агента.
--config <path> --json-log --verbose --local-only --passphrase value
Общие опции: путь к конфигу, формат логов, подробный режим, локальный smoke и passphrase.
Частые сценарии

Обновление агента

Для обновлений используйте встроенную команду. install.sh нужен только для первой установки.

novij-backup update --check
sudo novij-backup update
novij-backup --version

Первичная настройка

Создайте каталоги, импортируйте service-key и проверьте конфиг.

sudo novij-backup init --wizard
sudo novij-backup service-key import ./novij-backup-agent.service-key.json
sudo novij-backup doctor

Проект без Docker

Создайте проект, укажите обычные paths в config.yaml и запустите backup.

sudo novij-backup init --project main-site --path /var/www/main-site
sudo novij-backup config validate
sudo novij-backup run --job main

Проект с Docker

Укажите Docker volumes или container paths в config.yaml, агент запускается на хосте.

docker volume ls
sudo novij-backup config validate
sudo novij-backup run --job docker-main

Live setup с MySQL

Быстрый старт для сайта и одной MySQL базы.

sudo novij-backup init --project tcnvlio --path /var/www/t.cnvl.io --mysql tcnvl
sudo novij-backup service-key import ./novij-backup-agent.service-key.json
sudo novij-backup run --job main

Проверка и восстановление

Найдите backup_id, проверьте backup и восстановите его в отдельную директорию.

sudo novij-backup list
sudo novij-backup verify <backup_id>
sudo novij-backup restore <backup_id> --to /tmp/novij-restore-test

Ремонт ZK coverage

Если verify нашёл блок вне активного ZK coverage, сначала синхронизируйте ZK.

sudo novij-backup zk sync
sudo novij-backup verify <backup_id> --repair-zk

Локальный smoke без сети

Подходит для быстрой проверки сборки и restore без Relay/Storage.

novij-backup --config examples/config.example.yaml run --job local-smoke --local-only
novij-backup --config examples/config.example.yaml list
novij-backup --config examples/config.example.yaml verify <backup_id> --local-only