#!/usr/bin/env bash set -euo pipefail # Backup Master PostgreSQL + config # Usage: ./backup.sh [output-dir] OUT_DIR="${1:-/opt/media-master/backups}" STAMP="$(date -u +%Y%m%dT%H%M%SZ)" DEST="${OUT_DIR}/${STAMP}" mkdir -p "$DEST" echo "Backing up PostgreSQL..." docker compose -f "$(dirname "$0")/../docker/docker-compose.yml" exec -T postgres \ pg_dump -U media media_cluster | gzip > "${DEST}/postgres.sql.gz" if [[ -f "$(dirname "$0")/../master/.env" ]]; then cp "$(dirname "$0")/../master/.env" "${DEST}/master.env" fi echo "Backup written to ${DEST}"