#!/bin/sh set -eu BACKUP_DIR="/backups" RETENTION_DAYS=7 TIMESTAMP=$(date +%Y%m%d_%H%M%S) BACKUP_FILE="${BACKUP_DIR}/moviedice_${TIMESTAMP}.sql.gz" echo "[$(date -Iseconds)] Starting database backup" pg_dump -h supabase-db -U "$POSTGRES_USER" -d "$POSTGRES_DB" \ | gzip > "${BACKUP_FILE}" echo "[$(date -Iseconds)] Backup saved to ${BACKUP_FILE}" # Remove backups older than retention period find "${BACKUP_DIR}" -name "moviedice_*.sql.gz" -mtime +${RETENTION_DAYS} -delete REMAINING=$(find "${BACKUP_DIR}" -name "moviedice_*.sql.gz" | wc -l) echo "[$(date -Iseconds)] Cleanup complete. ${REMAINING} backup(s) retained."