Резервная копия системы хранится на отдельном компьютере в виде папки с набором файлов, полученных в результате выполнения скриптов make_standalone_backup.sh, make_cluster_backup.sh:
при использовании одиночной конфигурации продукта - standalone_backup_<дата и время создания резервной копии>;
при использовании кластерной конфигурации продукта - cluster_backup_<дата и время создания резервной копии>.
Восстановление системы из резервной копии отличается в зависимости от конфигурации продукта:
Для восстановления системы из резервной копии при использовании одиночной конфигурации продукта:
Убедитесь, что версии docker client, docker server и docker compose соответствуют поддерживаемым:
для получения используемой версии docker client и docker server выполните команду:
% docker version
для получения используемой версии docker compose выполните команду:
% docker compose version
Если версии docker client, docker server и docker compose не соответствуют поддерживаемым, то обновите их.
Скопируйте скрипты, которые содержатся в архиве standalone_compose_files_v26.06.<порядковый номер версии>.zip, и разместите их в папке установки мобильной платформы на уровне файла docker-compose.standalone.yml:
restore_standalone_backup.sh;
elasticsearch_backup.py;
restore_elastic_backup_standalone.sh.
Скрипты elasticsearch_backup.py, restore_elastic_backup_standalone.sh являются вспомогательными и запускаются автоматически: elasticsearch_backup.py запускается в процессе выполнения скрипта restore_standalone_backup.sh, а restore_elastic_backup_standalone.sh - в процессе выполнения скрипта elasticsearch_backup.py.
Замените конфигурационный файл .env на его резервную копию.
Выполните одно из действий:
запустите контейнеры Docker, если они были остановлены, и дождитесь окончания процесса запуска сервисов мобильной платформы:
% docker compose -f docker-compose.standalone.yml up -d
переустановите «Форсайт. Мобильная платформа» при необходимости.
Разместите папку standalone_backup_<дата и время создания резервной копии> на уровне скрипта restore_standalone_backup.sh.
Запретите доступ пользователям к серверу мобильной платформы на время восстановления данных.
Запустите скрипт restore_standalone_backup.sh в директории его расположения:
./restore_standalone_backup.sh
Если на уровне скрипта содержится несколько папок standalone_backup_<дата и время создания резервной копии> с сохранёнными резервными копиями, то укажите наименование необходимой папки после скрипта:
./restore_standalone_backup.sh standalone_backup_<дата и время создания резервной копии>
Проверьте работу системы и объём восстановленных данных:
Проверьте объём данных кеша. Если объём данных неполный, то удалите кеш и добавьте его заново в подразделе «Управление кэшем».
Аннулируйте срок действия JWT для пользователей API и администраторов. Для этого измените значения параметров «Срок действия JWT токена для пользователей API», «Срок действия JWT токена для администраторов», «Срок действия refresh JWT для пользователей API и администраторов» в подразделе «Безопасность».
Заново добавьте учётные записи пользователей API, если они были добавлены после создания резервной копии.
Разрешите доступ пользователям к серверу мобильной платформы.
После выполнения действий будет восстановлена система из резервной копии: базы данных PostgreSQL, локальное файловое хранилище MinIO, система логирования Elasticsearch, конфигурационный файл .env.
Для восстановления системы из резервной копии при использовании кластерной конфигурации продукта:
Скопируйте скрипт restore_cluster_backup.sh, который содержится в архиве cluster_charts_v26.06.<порядковый номер версии>.zip, и разместите его в папке установки мобильной платформы на одном из главных узлов кластера.
Разместите папку cluster_backup_<дата и время создания резервной копии> на уровне скрипта restore_cluster_backup.sh.
Запретите доступ пользователям к серверу мобильной платформы на время восстановления данных.
Запустите скрипт restore_cluster_backup.sh в директории его расположения:
./restore_cluster_backup.sh
Если на уровне скрипта содержится несколько папок cluster_backup_<дата и время создания резервной копии> с сохранёнными резервными копиями, то укажите наименование необходимой папки после скрипта:
./restore_cluster_backup.sh cluster_backup_<дата и время создания резервной копии>
Проверьте работу системы и объём восстановленных данных:
Проверьте объём данных кеша. Если объём данных неполный, то удалите кеш и добавьте его заново в подразделе «Управление кэшем».
Аннулируйте срок действия JWT для пользователей API и администраторов. Для этого измените значения параметров «Срок действия JWT токена для пользователей API», «Срок действия JWT токена для администраторов», «Срок действия refresh JWT для пользователей API и администраторов» в подразделе «Безопасность».
Заново добавьте учётные записи пользователей API, если они были добавлены после создания резервной копии.
Разрешите доступ пользователям к серверу мобильной платформы.
После выполнения действий будет восстановлена система из резервной копии: базы данных PostgreSQL, локальное файловое хранилище MinIO.
Примечание. Восстановление логов Elasticsearch из резервной копии выполняется отдельно от общей системы.
См. также:
Резервное копирование и восстановление системы | Создание резервной копии системы