Указанные ниже команды следует выполнять от пользователя с правами администратора. |
Для восстановления необходимо выполнить следующие действия:
mkdir -p /srv/backup |
При необходимости создать директорию для дистрибутива:
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} |
При необходимости сохранить файл лицензии:
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 |
tar -C / -xzvf /srv/backup/<NAME>.tar.gz |
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 |
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')" |
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 |