#!/bin/sh
# ============================================================
#  SiGeM — Backup automático PostgreSQL
#  Município de Moatize
# ============================================================

DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="/backups/sigem_moatize_${DATE}.sql.gz"
RETENTION_DAYS=90

echo "[$(date)] Iniciando backup da base de dados SiGeM Moatize..."

PGPASSWORD="$POSTGRES_PASSWORD" pg_dump \
  -h "$POSTGRES_HOST" \
  -U "$POSTGRES_USER" \
  -d "$POSTGRES_DB" \
  --no-password \
  --verbose \
  --clean \
  --if-exists \
  --create \
  | gzip > "$BACKUP_FILE"

if [ $? -eq 0 ]; then
  SIZE=$(du -sh "$BACKUP_FILE" | cut -f1)
  echo "[$(date)] Backup concluído: $BACKUP_FILE ($SIZE)"
else
  echo "[$(date)] ERRO: Falha no backup!" >&2
  exit 1
fi

# Remover backups antigos
find /backups -name "sigem_moatize_*.sql.gz" -mtime +$RETENTION_DAYS -delete
echo "[$(date)] Backups com mais de $RETENTION_DAYS dias removidos."

# Listar backups existentes
echo "[$(date)] Backups disponíveis:"
ls -lh /backups/sigem_moatize_*.sql.gz 2>/dev/null || echo "  (nenhum)"
