Files
BrainKP/scripts/backup-bd.sh
T

38 lines
1.1 KiB
Bash
Executable File

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