sk1/backup-db.sh
2026-05-11 20:59:41 +02:00

39 lines
886 B
Bash

#!/usr/bin/env bash
set -Eeuo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ENV_FILE="${ENV_FILE:-$ROOT_DIR/.env.azure}"
if [[ ! -f "$ENV_FILE" ]]; then
echo "Chýba $ENV_FILE"
exit 1
fi
set -a
# shellcheck disable=SC1090
source "$ENV_FILE"
set +a
: "${RG_NAME:?Missing RG_NAME}"
: "${PG_SERVER:?Missing PG_SERVER}"
: "${PG_DB:?Missing PG_DB}"
: "${PG_ADMIN:?Missing PG_ADMIN}"
: "${PG_PASSWORD:?Missing PG_PASSWORD}"
if ! command -v pg_dump >/dev/null 2>&1; then
echo "Chýba pg_dump."
exit 1
fi
mkdir -p "$ROOT_DIR/backups"
OUT="$ROOT_DIR/backups/${PG_DB}_$(date +%Y%m%d_%H%M%S).sql"
echo "Vytváram SQL zálohu databázy do: $OUT"
PGPASSWORD="$PG_PASSWORD" pg_dump \
"host=$PG_SERVER.postgres.database.azure.com port=5432 dbname=$PG_DB user=$PG_ADMIN sslmode=require" \
--no-owner \
--no-privileges \
> "$OUT"
echo "Záloha hotová: $OUT"