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