17 lines
485 B
Bash
Executable File
17 lines
485 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
BACKUP_DIR="${BACKUP_DIR:-$ROOT_DIR/backups/postgres}"
|
|
TIMESTAMP="$(date +%Y%m%d_%H%M%S)"
|
|
OUT_FILE="${1:-$BACKUP_DIR/alphax_${ALPHAX_ENV:-dev}_$TIMESTAMP.dump}"
|
|
|
|
if [[ -z "${DATABASE_URL:-}" ]]; then
|
|
echo "ERROR: DATABASE_URL is required" >&2
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "$(dirname "$OUT_FILE")"
|
|
pg_dump "$DATABASE_URL" --format=custom --file="$OUT_FILE"
|
|
echo "[backup] wrote $OUT_FILE"
|