#!/bin/bash # Скрипт для создания бэкапа БД PROD set -e BACKUP_DIR="./backups" TIMESTAMP=$(date +%Y%m%d_%H%M%S) BACKUP_FILE="$BACKUP_DIR/platform_prod_db_backup_$TIMESTAMP.sql.gz" echo "==========================================" echo "Создание бэкапа PROD БД" echo "==========================================" echo "" # Создать директорию для бэкапов mkdir -p "$BACKUP_DIR" # Проверить, что контейнер БД запущен if ! docker ps | grep -q platform_prod_db; then echo "Ошибка: Контейнер platform_prod_db не запущен" echo "Запустите БД: docker compose up -d db" exit 1 fi echo "Создание бэкапа..." echo "Файл: $BACKUP_FILE" echo "" # Создать бэкап if docker exec platform_prod_db pg_dumpall -U platform_prod_user -c | gzip > "$BACKUP_FILE"; then BACKUP_SIZE=$(du -h "$BACKUP_FILE" | cut -f1) echo "✓ Бэкап создан успешно" echo " Размер: $BACKUP_SIZE" echo " Файл: $BACKUP_FILE" echo "" echo "Для восстановления:" echo " gunzip < $BACKUP_FILE | docker exec -i platform_prod_db psql -U platform_prod_user -d postgres" else echo "✗ Ошибка создания бэкапа!" exit 1 fi