Указанные ниже команды следует выполнять от пользователя с правами администратора.

Для восстановления необходимо выполнить следующие действия:

  1. При необходимости создать директорию для резервных копий:
    mkdir -p /srv/backup
  2. При необходимости поместить архив резервной копии в созданную директорию
  3. Выполнить подготовку:
    • При 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}
  4. При пакетной установке:
    • Система установлена:
      • При необходимости сохранить файл лицензии:

        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
  5. Распаковать архив резервной копии:
    tar -C / -xzvf /srv/backup/<NAME>.tar.gz
    где <NAME> – имя архива резервной копии.
  6. Для пакетной установки необходимо выполнить восстановление баз данных системы:
    • При установке с локальной 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:
      • Необходимо применить принятые в вашей организации стандарты восстановления.
  7. Запустить систему:
    • При 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
         
  8. При восстановлении на сервере (ВМ), где не было Docker-установки приложения, или при необходимости изменения параметров лицензии необходимо выполнить лицензирование приложения по соответствующему руководству.
  • Нет меток