Vidicap Cloud

← Guides for technicians

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

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

Сервер больницы сам копирует свою базу и архив обследований по расписанию: в одно или несколько мест, зашифрованно, с проверкой. Из копии можно вернуть одно удалённое обследование или весь сервер на новое железо. Так выполняется глава 9 приказа МЗ РБ № 953: регулярное копирование, хранение на отдельном носителе и процедура восстановления.

Что копируется

Копируется Не копируется (делается заново само)
база платформы: пользователи, операционные, обследования, настройки, журналы копии видео для браузера: архив делает их из оригиналов
оригиналы видео и фото архива, байт в байт выпуски для устройств: они снова приходят сверху
кадры «Обучения ИИ», ряды показателей Vidicap Connect образы для флешек: собираются заново
  • Первая копия полная, дальше копируется только новое: ночная копия обычно занимает минуты.
  • Каждая копия шифруется ключом больницы. Без ключа копию не открыть никому, и нам тоже.
  • Копии и ключ из больницы не уходят. В «Дерево серверов» и в vidicap.cloud передаётся только «копия от 05.10 02:14, успешно» или «сбой».
  • Копия идёт с самым низким приоритетом процессора и диска: запись и трансляции идут первыми.
  • Записи, которые ещё лежат только на Vidicap, копируются после того, как они пришли на сервер. Обычно это минуты после конца обследования.

Где это

Сервисное меню → «Резервное копирование». Только для администраторов сервера.

Сервисное меню: плитка «Резервное копирование»

Страница «Резервное копирование»

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

1. Запишите ключ

Нажмите «Показать ключ». Перепишите или распечатайте ключ и уберите в сейф больницы, отдельно от сервера. Затем нажмите «Я записал ключ, он хранится в больнице».

Ключ копий

Ключ понадобится, если сервер выйдет из строя целиком: на новом сервере без ключа копию не открыть. Посмотреть ключ снова можно в любой момент кнопкой «Показать ключ копий» в блоке «Расписание и хранение».

2. Укажите, куда копировать

Нажмите «+ Добавить место» и выберите тип:

Тип Что указать Когда выбирать
Диск сервера папку /backup отдельный диск в сервере или внешний USB-диск
Сетевое хранилище (SMB) адрес, общую папку, пользователя и пароль NAS или файловый сервер больницы (Windows, Synology, QNAP)
SFTP-сервер адрес, порт, папку, пользователя и пароль Linux-сервер или хранилище с SFTP

Новое место для копий

Нажмите «Сохранить и проверить». Платформа сразу проверит, что место доступно для записи. Если что-то не так, она скажет что именно: адрес не найден, сервер не отвечает, неверный пароль, нет общей папки, нет прав на запись.

Диск сервера. Отдельный диск монтируется на сервере в папку /srv/vidicap-backup; для платформы это папка /backup. Другую папку можно задать в .env строкой VIDICAP_BACKUP_DIR=. Если диск для копий тот же, что и диск с архивом, платформа предупредит: при поломке этого диска пропадёт и копия.

Два места лучше одного. Например, отдельный диск в сервере и NAS в другом корпусе. Копия идёт в каждое включённое место.

3. Расписание и хранение

По умолчанию копия делается каждую ночь в 02:00. Хранятся 30 ежедневных и 12 ежемесячных копий: за последний месяц можно вернуться на любой день, за год — на начало каждого месяца. Можно выбрать «Каждые 6 часов» или «Раз в неделю».

Первая копия начинается сразу после добавления места, не дожидаясь ночи. Кнопка «Сделать копию сейчас» ставит копию в очередь вне расписания: служба начнёт в течение минуты.

Проверки

  • Каждая копия проверяется по контрольным суммам при записи.
  • Раз в неделю служба проверяет целостность копий в каждом месте.
  • Раз в месяц служба восстанавливает случайный файл из последней копии во временную папку и сверяет его по SHA-256 с оригиналом. Результат пишется в журнал: «Восстановлен и сверен по SHA-256: 10-00-00.mp4, обследование 05.10.2026».

Если копия не удалась

Администраторы сервера видят красную полосу вверху каждой страницы платформы. На главном сервере и в vidicap.cloud у этого сервера в «Дереве серверов» стоит «копия: сбой».

«Дерево серверов»: состояние копий

Полоса появляется, если: - последняя копия в каком-то месте не удалась; - больше 48 часов не было ни одной успешной копии; - не указано ни одного места для копий.

Если на сервере настроена почта, администраторам приходит письмо о первом сбое. Пока сбой продолжается, письма не повторяются.

Что делать: откройте «Резервное копирование». У места, где сбой, написана причина. Нажмите «Проверить» у этого места, исправьте адрес или пароль, затем нажмите «Сделать копию сейчас».

Восстановление

«Резервное копирование» → «Восстановление».

Восстановление

Одно обследование

  1. Введите фамилию, ID пациента или дату и нажмите «Найти».
  2. Удалённые обследования помечены «удалено» с датой. Обследования, которые есть в архиве, помечены «в архиве».
  3. Нажмите «Восстановить». Если мест несколько, сначала выберите, из какого.

Служба вернёт удалённое обследование из последней копии, сделанной до удаления: пациента, теги, видео и фото. У обследования, которое есть в архиве, она заменит только пропавшие или повреждённые файлы и сверит их по SHA-256. Целые файлы не трогаются. Результат появится в «Журнале восстановлений» на той же странице. Обложки и копии для браузера архив сделает заново сам.

Весь сервер

Платформа на время восстановления останавливается, поэтому оно запускается на самом сервере из папки платформы:

cd /opt/vidicap/platform/deploy
sudo ./restore.sh                         # последняя копия из первого места
sudo ./restore.sh --snapshot 1a2b3c4d     # конкретная копия: номер из таблицы «Копии»

Скрипт попросит ввести слово ВОССТАНОВИТЬ. Затем он остановит платформу, вернёт базу, архив и настройки из копии и запустит платформу снова. Обследования, которые появились после этой копии, останутся на месте.

Новый сервер вместо сгоревшего

  1. Поставьте сервер больницы с загрузочной флешки (инструкция «Загрузочная флешка»).
  2. Подключите к нему место с копиями: диск, NAS или SFTP.
  3. Запустите восстановление, указав, где копии, и ключ:
cd /opt/vidicap/platform/deploy
sudo ./restore.sh --kind disk --path /backup --key AAAAA-BBBBB-CCCCC-DDDDD-EEEEE-FFFFF
sudo ./restore.sh --kind smb --host nas-korpus2 --path vidicap --user backup --key AAAAA-...
sudo ./restore.sh --kind sftp --host 10.0.0.5 --port 22 --path vidicap --user backup --key AAAAA-...

Пароль к NAS или SFTP скрипт спросит сам. После восстановления место для копий и ключ уже записаны в настройки, и копирование продолжится по расписанию.

Заглянуть в копию, ничего не заменяя (например, достать один файл):

docker compose run --rm --no-deps backup python manage.py backup restore-server --into /data/backup-state/look

На телефоне и в тёмной теме

Резервное копирование на телефоне

Тёмная тема

Vidicap Touch 2.0 и Touch 1.0

На самих Vidicap ничего настраивать не нужно: их записи уходят на сервер и попадают в копию сервера, обе ревизии одинаково. Копирование настроек каждого Vidicap на сервер и перенос их на Vidicap взамен сломанного будут следующим шагом.

Для ТЗ

Резервное копирование базы данных и архива видеозаписей выполняется автоматически по расписанию, задаваемому заказчиком (по умолчанию ежесуточно), инкрементно, с шифрованием (AES-256) и контролем целостности. Копии хранятся на отдельном носителе или в изолированном сегменте сети (отдельный диск, сетевое хранилище SMB, сервер SFTP), в одном или нескольких местах одновременно. Предусмотрены еженедельная проверка целостности, ежемесячное автоматическое пробное восстановление, восстановление отдельного обследования из веб-интерфейса и полное восстановление сервера, в том числе на новое оборудование. Видеозаписи хранятся и восстанавливаются в исходном качестве (контроль SHA-256).

← Vidicap Connect: ward monitors and data transfer to the HIS Internet broadcast: YouTube and RTMP (add-on module) →