
#!/bin/bash

# Скрипт для создания резервной копии базы данных PostgreSQL

# Настройки
BACKUP_DIR="./backups"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="${BACKUP_DIR}/db_backup_${TIMESTAMP}.sql"

# Создаем директорию для бэкапов если не существует
mkdir -p ${BACKUP_DIR}

echo "🔄 Создание резервной копии базы данных..."
echo "📁 Файл: ${BACKUP_FILE}"

# Создаем бэкап
docker exec -t global-it24-postgres pg_dump -U globalit24 globalit24_db > ${BACKUP_FILE}

if [ $? -eq 0 ]; then
    echo "✅ Резервная копия успешно создана!"
    
    # Сжимаем бэкап
    gzip ${BACKUP_FILE}
    echo "📦 Архив создан: ${BACKUP_FILE}.gz"
    
    # Показываем размер
    SIZE=$(du -h ${BACKUP_FILE}.gz | cut -f1)
    echo "💾 Размер: ${SIZE}"
    
    # Удаляем бэкапы старше 30 дней
    find ${BACKUP_DIR} -name "db_backup_*.sql.gz" -mtime +30 -delete
    echo "🧹 Старые бэкапы (>30 дней) удалены"
    
else
    echo "❌ Ошибка при создании резервной копии!"
    exit 1
fi

echo ""
echo "📊 Список всех бэкапов:"
ls -lh ${BACKUP_DIR}/db_backup_*.sql.gz 2>/dev/null | tail -10
