26 lines
545 B
Bash
26 lines
545 B
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
if [[ -z "${DATABASE_URL:-}" && -z "${BACKUP_DATABASE_URL:-}" ]]; then
|
|
echo "DATABASE_URL or BACKUP_DATABASE_URL is required."
|
|
exit 1
|
|
fi
|
|
|
|
ENV_FILE="${ENV_FILE:-./.env}"
|
|
if [[ -f "$ENV_FILE" ]]; then
|
|
set -a
|
|
# shellcheck source=/dev/null
|
|
. "$ENV_FILE"
|
|
set +a
|
|
fi
|
|
|
|
OUT_DIR="${BACKUP_DIR:-./backups}"
|
|
mkdir -p "$OUT_DIR"
|
|
|
|
STAMP="$(date +%F_%H%M%S)"
|
|
OUT_FILE="${OUT_DIR}/skymoney_${STAMP}.dump"
|
|
|
|
pg_dump "${BACKUP_DATABASE_URL:-$DATABASE_URL}" -Fc -f "$OUT_FILE"
|
|
|
|
echo "Backup written to: $OUT_FILE"
|