Указанные ниже команды следует выполнять от пользователя с правами администратора. |
Для резервного копирования необходимо выполнить следующие действия:
Резервное копирование по данному руководству подходит только при соблюдении следующих условий:
|
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 |
При отсутствии создать директорию для резервных копий:
mkdir -p $BACKUP_DIR |
Остановить систему:
cd /srv/platform && docker compose down || docker-compose down |
Сформировать архив резервной копии:
tar -czvf $BACKUP_PATH /srv/{platform,polymatica} |
Остановить систему:
for SERVICE in $(systemctl list-unit-files polymatica-platform* | grep .service | cut -d . -f 1); do systemctl stop $SERVICE; done |
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) |
При отсутствии создать директорию для резервных копий:
mkdir -p $BACKUP_DIR |
Для резервного копирования баз данных системы из локальной 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 необходимо выполнить следующие действия:
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 |
tar -czvf ${DATE_BACKUP_DIR}.tar.gz /etc/{nginx,polymatica} /usr/share/polymatica ${DATE_BACKUP_DIR}/* |
rm -rf ${DATE_BACKUP_DIR} |