Files
dilib_operations/scripts/backup.sh
T
ms 2c1c48df0c
PostgreSQL integration / tests (push) Has been cancelled
init
2026-11-09 13:15:48 +01:00

15 lines
563 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# Local default DB. For external databases adapt connection options separately.
backup_dir="${1:?Usage: backup.sh /protected/backup/path}"
mkdir -p "$backup_dir"
chmod 700 "$backup_dir"
umask 077
partial="$(mktemp "$backup_dir/.dilib-backup-XXXXXX.partial")"
trap 'rm -f -- "$partial"' EXIT
pg_dump --format=custom --file="$partial" dilib_dashboard
pg_restore --list "$partial" >/dev/null
final="$backup_dir/dilib-dashboard-$(date -u +%Y%m%dT%H%M%SZ)-$$.dump"
mv -- "$partial" "$final"
printf 'Backup created: %s\n' "$final"