Initialize clean CSR inventory repository
This commit is contained in:
17
scripts/restore.sh
Normal file
17
scripts/restore.sh
Normal file
@@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
umask 077
|
||||
|
||||
if [ "$#" -ne 1 ] || [ ! -f "$1" ]; then
|
||||
echo "Aufruf: scripts/restore.sh backups/backup_YYYY-MM-DD_HHMM.sql.gz" >&2
|
||||
exit 1
|
||||
fi
|
||||
WORK=$(mktemp -d)
|
||||
trap 'rm -rf "$WORK"' EXIT
|
||||
trap 'exit 1' HUP INT TERM
|
||||
# Decompress completely before touching the target database. SQL errors roll
|
||||
# back the entire restore rather than leaving a partially restored database.
|
||||
gzip -dc "$1" > "$WORK/dump.sql"
|
||||
test -s "$WORK/dump.sql"
|
||||
docker compose exec -T db sh -c 'exec psql --single-transaction -v ON_ERROR_STOP=1 -U "$POSTGRES_USER" -d "$POSTGRES_DB"' < "$WORK/dump.sql"
|
||||
echo "Wiederherstellung abgeschlossen."
|
||||
Reference in New Issue
Block a user