Резервное копирование и восстановление сервера
Резервное копирование и восстановление сервера
Сервер больницы сам копирует свою базу и архив обследований по расписанию: в одно или несколько мест, зашифрованно, с проверкой. Из копии можно вернуть одно удалённое обследование или весь сервер на новое железо. Так выполняется глава 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 часов не было ни одной успешной копии; - не указано ни одного места для копий.
Если на сервере настроена почта, администраторам приходит письмо о первом сбое. Пока сбой продолжается, письма не повторяются.
Что делать: откройте «Резервное копирование». У места, где сбой, написана причина. Нажмите «Проверить» у этого места, исправьте адрес или пароль, затем нажмите «Сделать копию сейчас».
Восстановление
«Резервное копирование» → «Восстановление».

Одно обследование
- Введите фамилию, ID пациента или дату и нажмите «Найти».
- Удалённые обследования помечены «удалено» с датой. Обследования, которые есть в архиве, помечены «в архиве».
- Нажмите «Восстановить». Если мест несколько, сначала выберите, из какого.
Служба вернёт удалённое обследование из последней копии, сделанной до удаления: пациента, теги, видео и фото. У обследования, которое есть в архиве, она заменит только пропавшие или повреждённые файлы и сверит их по SHA-256. Целые файлы не трогаются. Результат появится в «Журнале восстановлений» на той же странице. Обложки и копии для браузера архив сделает заново сам.
Весь сервер
Платформа на время восстановления останавливается, поэтому оно запускается на самом сервере из папки платформы:
cd /opt/vidicap/platform/deploy
sudo ./restore.sh # последняя копия из первого места
sudo ./restore.sh --snapshot 1a2b3c4d # конкретная копия: номер из таблицы «Копии»
Скрипт попросит ввести слово ВОССТАНОВИТЬ. Затем он остановит платформу, вернёт базу, архив и настройки из копии и запустит платформу снова. Обследования, которые появились после этой копии, останутся на месте.
Новый сервер вместо сгоревшего
- Поставьте сервер больницы с загрузочной флешки (инструкция «Загрузочная флешка»).
- Подключите к нему место с копиями: диск, NAS или SFTP.
- Запустите восстановление, указав, где копии, и ключ:
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) →