first commit
This commit is contained in:
parent
13bc883d64
commit
b1f671e716
2 changed files with 89 additions and 0 deletions
44
copier/backup_db.sh
Executable file
44
copier/backup_db.sh
Executable file
|
|
@ -0,0 +1,44 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# INPUTS
|
||||||
|
# -----------------------------
|
||||||
|
CONTAINER_NAME="54e"
|
||||||
|
DB_PORT="5432"
|
||||||
|
DB_NAME="mytestdb"
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# VALIDATION
|
||||||
|
# -----------------------------
|
||||||
|
if [ -z "$CONTAINER_NAME" ] || [ -z "$DB_PORT" ] || [ -z "$DB_NAME" ]; then
|
||||||
|
echo "Usage: $0 <container_name> <port> <db_name>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# CONFIG
|
||||||
|
# -----------------------------
|
||||||
|
PG_USER="postgres"
|
||||||
|
BACKUP_DIR="./backups"
|
||||||
|
DATE_STR=$(date +"%d_%m_%Y")
|
||||||
|
BACKUP_FILE="${DB_NAME}_${DATE_STR}.dump"
|
||||||
|
|
||||||
|
mkdir -p "$BACKUP_DIR"
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# BACKUP
|
||||||
|
# -----------------------------
|
||||||
|
echo "Taking custom-format backup (.dump) of '$DB_NAME' from container '$CONTAINER_NAME'..."
|
||||||
|
|
||||||
|
docker exec "$CONTAINER_NAME" \
|
||||||
|
pg_dump \
|
||||||
|
-U "$PG_USER" \
|
||||||
|
-p "$DB_PORT" \
|
||||||
|
-Fc \
|
||||||
|
-Z 6 \
|
||||||
|
"$DB_NAME" > "$BACKUP_DIR/$BACKUP_FILE"
|
||||||
|
|
||||||
|
echo "Backup completed successfully:"
|
||||||
|
echo "$BACKUP_DIR/$BACKUP_FILE"
|
||||||
|
|
||||||
45
restore/restore_dump.sh
Executable file
45
restore/restore_dump.sh
Executable file
|
|
@ -0,0 +1,45 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# INPUTS
|
||||||
|
# -----------------------------
|
||||||
|
CONTAINER_NAME="$1"
|
||||||
|
DB_PORT="$2"
|
||||||
|
DUMP_FILE="$3"
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# VALIDATION
|
||||||
|
# -----------------------------
|
||||||
|
if [ -z "$CONTAINER_NAME" ] || [ -z "$DB_PORT" ] || [ -z "$DUMP_FILE" ]; then
|
||||||
|
echo "Usage: $0 <container_name> <port> <dump_file>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f "$DUMP_FILE" ]; then
|
||||||
|
echo "Dump file not found: $DUMP_FILE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# CONFIG
|
||||||
|
# -----------------------------
|
||||||
|
PG_USER="postgres"
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# RESTORE
|
||||||
|
# -----------------------------
|
||||||
|
echo "Restoring dump '$DUMP_FILE' into container '$CONTAINER_NAME'..."
|
||||||
|
|
||||||
|
docker exec -i "$CONTAINER_NAME" \
|
||||||
|
pg_restore \
|
||||||
|
-U "$PG_USER" \
|
||||||
|
-p "$DB_PORT" \
|
||||||
|
--clean \
|
||||||
|
--if-exists \
|
||||||
|
--no-owner \
|
||||||
|
--no-privileges \
|
||||||
|
-d postgres < "$DUMP_FILE"
|
||||||
|
|
||||||
|
echo "Restore completed successfully."
|
||||||
|
|
||||||
Loading…
Add table
Reference in a new issue