38 lines
1.1 KiB
Bash
Executable File
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"
|