#!/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