Initial commit: MSP Monitor Dashboard
- Next.js 14 frontend with dark cyan/navy theme - tRPC API with Prisma ORM - MeshCentral, LibreNMS, Headwind MDM integrations - Multi-tenant architecture - Alert system with email/SMS/webhook notifications - Docker Compose deployment - Complete documentation
This commit is contained in:
72
scripts/backup-db.sh
Normal file
72
scripts/backup-db.sh
Normal file
@@ -0,0 +1,72 @@
|
||||
#!/bin/bash
|
||||
|
||||
# MSP Monitor Dashboard - Database Backup Script
|
||||
# Crea un backup de la base de datos PostgreSQL
|
||||
|
||||
set -e
|
||||
|
||||
# Configuracion
|
||||
BACKUP_DIR="${BACKUP_DIR:-/backups}"
|
||||
RETENTION_DAYS="${RETENTION_DAYS:-30}"
|
||||
DATE=$(date +%Y%m%d_%H%M%S)
|
||||
BACKUP_FILE="msp_monitor_${DATE}.sql.gz"
|
||||
|
||||
# Cargar variables de entorno
|
||||
if [ -f .env ]; then
|
||||
export $(cat .env | grep -v '^#' | xargs)
|
||||
fi
|
||||
|
||||
# Valores por defecto
|
||||
DB_HOST="${DB_HOST:-localhost}"
|
||||
DB_PORT="${DB_PORT:-5432}"
|
||||
DB_USER="${POSTGRES_USER:-mspmonitor}"
|
||||
DB_NAME="${POSTGRES_DB:-msp_monitor}"
|
||||
DB_PASSWORD="${POSTGRES_PASSWORD:-changeme}"
|
||||
|
||||
echo "======================================"
|
||||
echo " MSP Monitor - Database Backup"
|
||||
echo "======================================"
|
||||
echo "Fecha: $(date)"
|
||||
echo "Base de datos: $DB_NAME"
|
||||
echo ""
|
||||
|
||||
# Crear directorio de backups si no existe
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
|
||||
# Crear backup
|
||||
echo "Creando backup..."
|
||||
export PGPASSWORD="$DB_PASSWORD"
|
||||
|
||||
pg_dump -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" \
|
||||
--no-owner --no-privileges --format=custom | gzip > "$BACKUP_DIR/$BACKUP_FILE"
|
||||
|
||||
unset PGPASSWORD
|
||||
|
||||
# Verificar que el backup se creo correctamente
|
||||
if [ -f "$BACKUP_DIR/$BACKUP_FILE" ]; then
|
||||
SIZE=$(du -h "$BACKUP_DIR/$BACKUP_FILE" | cut -f1)
|
||||
echo "[✓] Backup creado: $BACKUP_DIR/$BACKUP_FILE ($SIZE)"
|
||||
else
|
||||
echo "[✗] Error creando backup"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Eliminar backups antiguos
|
||||
echo ""
|
||||
echo "Limpiando backups antiguos (mas de $RETENTION_DAYS dias)..."
|
||||
find "$BACKUP_DIR" -name "msp_monitor_*.sql.gz" -type f -mtime +$RETENTION_DAYS -delete
|
||||
REMAINING=$(ls -1 "$BACKUP_DIR"/msp_monitor_*.sql.gz 2>/dev/null | wc -l)
|
||||
echo "[✓] Backups restantes: $REMAINING"
|
||||
|
||||
# Opcional: Subir a S3 si esta configurado
|
||||
if [ -n "$S3_BUCKET" ] && command -v aws &> /dev/null; then
|
||||
echo ""
|
||||
echo "Subiendo backup a S3..."
|
||||
aws s3 cp "$BACKUP_DIR/$BACKUP_FILE" "s3://$S3_BUCKET/backups/$BACKUP_FILE"
|
||||
echo "[✓] Backup subido a s3://$S3_BUCKET/backups/$BACKUP_FILE"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "======================================"
|
||||
echo " Backup completado"
|
||||
echo "======================================"
|
||||
Reference in New Issue
Block a user