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

Docker-установка

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

Резервное копирование по данному руководству подходит только при соблюдении следующих условий:

  1. Конфигурационные файлы расположены в директории /srv/platform
  2. Данные расположены в директории /srv/polymatica
  1. Задать переменные:
    APP_VERSION=$(cd /srv/platform && docker compose exec manager polymatica-platform-manager app-version | cut -d : -f 2 | sed 's/ //')
    BACKUP_DIR=/srv/backup
    BACKUP_PATH=${BACKUP_DIR}/${APP_VERSION}-$(date +%F).tar.gz
  2. При отсутствии создать директорию для резервных копий:

    mkdir -p $BACKUP_DIR
  3. Остановить систему:

    cd /srv/platform &&	docker compose down || docker-compose down
  4. Сформировать архив резервной копии:

    tar -czvf $BACKUP_PATH /srv/{platform,polymatica}

Пакетная установка

  1. Остановить систему:

    for SERVICE in $(systemctl list-unit-files polymatica-platform* | grep .service | cut -d . -f 1); do systemctl stop $SERVICE; done
  2. Задать переменные:
    APP_VERSION=$(polymatica-platform-manager app-version | cut -d : -f 2 | sed 's/ //')
    BACKUP_DIR=/srv/backup
    DATE_BACKUP_DIR=${BACKUP_DIR}/${APP_VERSION}-$(date +%F)
  3. При отсутствии создать директорию для резервных копий:

    mkdir -p $BACKUP_DIR
  4. Выполнить резервное копирование баз данных системы:
    • Для резервного копирования баз данных системы из локальной PostgreSQL необходимо выполнить следующие действия:

      • Создать директорию для резервных копий баз данных PostgreSQL:
        mkdir -p ${DATE_BACKUP_DIR}/postgresql
      • Для каждой базы данных из списка выполнить команду для резервного копирования:
        su - polymatica -c 'pg_dump -c -Fc <DatabaseName> | gzip > /tmp/<DatabaseName>.pgdump.gz'
      • Переместить резервные копии баз данных системы в созданную директорию:
        mv /tmp/platform_*.pgdump.gz ${DATE_BACKUP_DIR}/postgresql
    • Для резервного копирования базы данных системы из локального ClickHouse необходимо выполнить следующие действия:

      • Создать директорию для резервных копий базы данных ClickHouse:
        mkdir -p ${DATE_BACKUP_DIR}/clickhouse
      • Выполнить команду для резервного копирования:
        clickhouse-client "BACKUP DATABASE platform_manager_cache TO File('platform_manager_cache.tar.gz')"
      • Переместить резервную копию в созданную директорию:
        mv /var/lib/clickhouse/backups/platform_manager_cache.tar.gz ${DATE_BACKUP_DIR}/clickhouse
    • При установке со внешними PostrgeSQL и ClickHouse необходимо применить принятые в вашей организации стандарты резервного копирования.
  5. Сформировать архив резервной копии:
    tar -czvf ${DATE_BACKUP_DIR}.tar.gz /etc/{nginx,polymatica} /usr/share/polymatica ${DATE_BACKUP_DIR}/* 
  6. Удалить директорию с резервными копиями баз данных:
    rm -rf ${DATE_BACKUP_DIR}
  • Нет меток