Novij Backup Agent
Linux backup daemon на Novij Protocol. Пакет: 0.6.05.231439.
Установка
curl -fsSL https://packages.novij.tech/backup-agent/install.sh | sudo bash
Ручная установка
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