39 lines
886 B
Bash
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"
|