Перейти к содержимому

Резервное копирование и восстановление

Резервное копирование и восстановление

Что нужно сохранять

ДанныеГдеКритичность
PostgreSQLБД portalОбязательно
Файлы библиотекS3 bucket portal-filesОбязательно
Лицензия / trialPORTAL_DATA_DIRРекомендуется
Конфигурация.env / portal.env / Helm valuesРекомендуется
ValkeyКэшНе обязательно (пересоздаётся)

PostgreSQL

Backup

Окно терминала
# Docker
docker compose exec postgres pg_dump -U portal portal > portal-backup-$(date +%F).sql
# Native
pg_dump -h localhost -U portal portal > portal-backup.sql
# Сжатый
pg_dump -Fc -h localhost -U portal portal > portal-backup.dump

Restore

Окно терминала
# Остановите API и Worker перед восстановлением
psql -h localhost -U portal -d portal < portal-backup.sql
# или
pg_restore -d portal portal-backup.dump

S3 / MinIO / SeaweedFS

MinIO client (mc)

Окно терминала
mc alias set portal http://localhost:9000 portal_minio SECRET
mc mirror portal/portal-files ./backup/portal-files/

Восстановление

Окно терминала
mc mirror ./backup/portal-files/ portal/portal-files/

Kubernetes

Окно терминала
# Snapshot PVC PostgreSQL (зависит от StorageClass / CSI)
kubectl exec -n portal portal-postgresql-0 -- pg_dump -U portal portal > backup.sql
# Velero / корпоративный backup PVC — по политике клиента

Конфигурация

Сохраните копии:

  • deploy/docker/.env
  • /etc/portal/portal.env
  • deploy/helm/portal/portal-values.generated.yaml
  • LICENSE.key

Процедура обновления с backup

  1. Backup PostgreSQL + S3
  2. portal-cli upgrade --mode <канал>
  3. Проверка /health и /api/v1/system/version
  4. При проблемах — restore БД и откат образов/пакетов

RPO / RTO (ориентиры)

ПрофильRPORTO
Пилот24 ч4 ч
Production1 ч1 ч
Enterprise15 мин30 мин

Настройте cron/systemd timer для pg_dump и синхронизации S3 по политике клиента.