#!/bin/bash # Backup PostgreSQL databases → Google Drive (BD) set -e DATE=$(date +%Y%m%d_%H%M%S) BACKUP_DIR="/tmp/backup-bd" DEST="gdrive:BD" echo "[$(date)] Backup BD started" # Cleanup old temp rm -rf "$BACKUP_DIR" mkdir -p "$BACKUP_DIR" # Supabase DB backup docker exec supabase-db pg_dump -U postgres postgres > "$BACKUP_DIR/supabase-db-$DATE.sql" 2>/dev/null || \ docker exec supabase-db-h0oggskgs0ws0sco8kc4s8ws pg_dump -U postgres postgres > "$BACKUP_DIR/supabase-db-$DATE.sql" 2>/dev/null || \ echo "Supabase DB not found, skipping" # Gitea DB backup docker exec coolify-db pg_dump -U postgres postgres > "$BACKUP_DIR/gitea-db-$DATE.sql" 2>/dev/null || \ docker exec gitea-yccsckck4g004gosccwc4kg4 pg_dump -U postgres -U postgres gitea > "$BACKUP_DIR/gitea-db-$DATE.sql" 2>/dev/null || \ echo "Gitea DB not found, skipping" # Compress tar -czf "$BACKUP_DIR/bd-backup-$DATE.tar.gz" -C "$BACKUP_DIR" . 2>/dev/null || true # Sync to Google Drive rclone copy "$BACKUP_DIR" "$DEST" --progress # Keep only last 7 days in GDrive rclone delete "$DEST" --min-age 7d # Cleanup local rm -rf "$BACKUP_DIR" echo "[$(date)] Backup BD finished"