25 lines
499 B
Bash
25 lines
499 B
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
CONTAINER="immich_postgres"
|
|
USER="postgres"
|
|
DB="immich"
|
|
BACKUP_DIR="/srv/backups/pgdumps/immich"
|
|
TMP_FILE="$BACKUP_DIR/pg.dump.tmp"
|
|
FINAL_FILE="$BACKUP_DIR/pg.dump"
|
|
|
|
echo "Starting [$DB] pg_dump..."
|
|
|
|
mkdir -p "$BACKUP_DIR"
|
|
|
|
# remove old backup file
|
|
rm -f "$TMP_FILE" "$FINAL_FILE"
|
|
|
|
docker exec -t "$CONTAINER" \
|
|
sh -lc "pg_dump -U $USER -d $DB -Fc -Z 0 --no-owner --no-privileges" \
|
|
> "$TMP_FILE"
|
|
|
|
mv "$TMP_FILE" "$FINAL_FILE"
|
|
|
|
echo "Done: [$DB] backup saved to $FINAL_FILE"
|