Add PostgreSQL configuration and database management tools
- Added PostgreSQL service to docker-compose.yml - Updated .env.example with complete database settings - Created DATABASE.md with comprehensive PostgreSQL guide - Added backup-db.sh script for automatic database backups - Configured health checks for both PostgreSQL and app containers - Added Docker network for secure container communication
This commit is contained in:
42
backup-db.sh
Executable file
42
backup-db.sh
Executable file
@@ -0,0 +1,42 @@
|
||||
|
||||
#!/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
|
||||
Reference in New Issue
Block a user