Skip to content

Резервное копирование и аварийное восстановление ​

RUSEON Core сохраняет все операционные данные (конфигурации камер, учётные записи пользователей, структуру папок, подписки на вебхуки и индекс каталога архива) во встроенной базе данных BadgerDB v4.

В этом руководстве описан процесс создания атомарных резервных копий, настройка автоматических снапшотов по расписанию и процедура восстановления после сбоев.


1. Содержимое резервной копии ​

  • Реестр камер: RTSP-ссылки, ONVIF-параметры, профили потоков и правила записи.
  • Безопасность и доступ: Пользователи, хэши паролей, API-токены и роли.
  • Организационная структура: Иерархия папок и теги камер.
  • Каталог архива: Временные интервалы записей и ссылки на видеофайлы.

(Примечание: Сами видеофайлы fMP4 сохраняются в файловой системе в каталоге /app/recordings и резервируются стандартными средствами файлового копирования или снапшотов файловой системы).


2. Ручное создание резервной копии через ruseon-cli ​

Создание атомарного дампа базы данных без остановки работающего сервера:

bash
# Создание снапшота базы данных
ruseon-cli backup create \
  --config /etc/ruseon/config.yaml \
  --output /var/lib/ruseon/backups/ruseon_backup_$(date +%Y%m%d_%H%M%S).bak

3. Автоматизация ежедневного бэкапа через Cron ​

Создайте задание cron в /etc/cron.d/ruseon-backup:

cron
# Запуск бэкапа каждый день в 03:00 UTC и удаление файлов старше 30 дней
0 3 * * * ruseon /opt/ruseon/bin/ruseon-cli backup create --config /etc/ruseon/config.yaml --output /var/lib/ruseon/backups/backup_$(date +\%Y\%m\%d).bak && find /var/lib/ruseon/backups/ -name "backup_*.bak" -mtime +30 -delete

4. Процедура аварийного восстановления (Disaster Recovery) ​

Для восстановления базы данных из снапшота на новом или восстановленном сервере:

bash
# 1. Остановка сервиса RUSEON
sudo systemctl stop ruseon

# 2. Восстановление базы данных из файла снапшота
ruseon-cli backup restore \
  --config /etc/ruseon/config.yaml \
  --input /var/lib/ruseon/backups/ruseon_backup_20260814.bak

# 3. Запуск сервиса RUSEON
sudo systemctl start ruseon

# 4. Проверка статуса через системную пробу
curl http://localhost:8080/readyz

Связанная документация ​

Released under the MIT License.