Для восстановления необходимо выполнить следующие действия:
- При необходимости создать директорию для резервных копий:
mkdir -p /srv/backup
- При необходимости поместить архив резервной копии в созданную директорию
- Выполнить подготовку:
- При Docker-установке:
При необходимости создать директорию для дистрибутива:
mkdir -p /srv/dist
Поместить в созданную директорию архив с дистрибутивом:
https://repo.polymatica.ru/platform/docker/releases/<VERSION>/platform-<VERSION>.tar.gz
где <VERSION> – версия системы из резервной копии в формате x.y.z.
Распаковать архив с дистрибутивом:
tar -C /srv/dist -xzvf /srv/dist/platform-<VERSION>.tar.gz
где <VERSION> – версия системы из резервной копии в формате x.y.z.
Загрузить Docker-образы:
for IMAGE in /srv/dist/images/*.tar.gz ; do docker load -i $IMAGE ; done
При необходимости после успешной загрузки Docker-образов удалить дистрибутив:
rm -rv /srv/dist/*
- При восстановлении на сервере (ВМ) с уже установленной системой необходимо выполнить следующие действия:
Остановить систему:
cd /srv/platform && docker compose down || docker-compose down
Сохранить файл лицензии:
cp /srv/polymatica/license.key /srv/backup
Удалить рабочие директории:
rm -rv /srv/{platform,polymatica}
- При Docker-установке:
- При пакетной установке:
- Система установлена:
При необходимости сохранить файл лицензии:
cp -v /etc/polymatica/platform/manager/license.key /srv/backup
- При несоответствии версии установленного приложения с версий из резервной копии необходимо выполнить удаление и последующую установку приложения соответствующей версии.
- Остановить приложение:
for SERVICE in $(systemctl list-unit-files polymatica-platform* | grep .service | cut -d . -f 1); do systemctl stop $SERVICE; done
- Удалить рабочие директории:
rm -r /etc/{nginx,polymatica} /usr/share/polymatica /var/log/polymatica
- Система не установлена:
- Выполнить установку системы версии, согласно резервной копии, по соответствующему руководству.
- Остановить систему:
for SERVICE in $(systemctl list-unit-files polymatica-platform* | grep .service | cut -d . -f 1); do systemctl stop $SERVICE; done
Сохранить файл лицензии:
cp -v /etc/polymatica/platform/manager/license.key /srv/backup
- Удалить рабочие директории:
rm -r /etc/{nginx,polymatica} /usr/share/polymatica /var/log/polymatica
- Система установлена:
- Распаковать архив резервной копии:где <NAME> – имя архива резервной копии.
tar -C / -xzvf /srv/backup/<NAME>.tar.gz
- Для пакетной установки необходимо выполнить восстановление баз данных системы:
- При установке с локальной PostgreSQL:
- Распаковать архивы резервных копий баз данных:
for DUMP in $(find /srv/backup -type f -name "platform_*.pgdump.gz"); do gunzip $DUMP; done
- Выполнить команду для восстановления:
for DUMP in $(find /srv/backup -type f -name "platform_*.pgdump"); do DB=$(echo $DUMP | cut -d / -f 6 | cut -d . -f 1); su - polymatica -c 'pg_restore -c -d $1 $2' sh "$DB" "$DUMP"; done
- Распаковать архивы резервных копий баз данных:
- При установке с локальной Clickhouse:
- Переместить резервную копию в директорию по умолчанию:
find /srv/backup -type f -name platform_manager_cache.tar.gz -exec mv {} /var/lib/clickhouse/backups \;
- Выполнить команду для восстановления:
сlickhouse-client "RESTORE DATABASE platform_manager_cache FROM File('platform_manager_cache.tar.gz')"
- Переместить резервную копию в директорию по умолчанию:
- При установке со внешними PostgreSQL и ClickHouse:
- Необходимо применить принятые в вашей организации стандарты восстановления.
- При установке с локальной PostgreSQL:
- Запустить систему:
- При Docker-установке:
cd /srv/platform && docker compose up -d --remove-orphans || docker-compose up -d --remove-orphans
- При пакетной установке:
for SERVICE in $(systemctl list-unit-files polymatica-platform* | grep .service | cut -d . -f 1); do systemctl start $SERVICE; done
- При Docker-установке:
- При восстановлении на сервере (ВМ), где не было Docker-установки приложения, или при необходимости изменения параметров лицензии необходимо выполнить лицензирование приложения по соответствующему руководству.