#!/bin/bash # Create docker-volume if not exists #docker run -d \ # --name postgres \ # -e POSTGRES_USER=matrix \ # -e POSTGRES_PASSWORD="9uZoFV%cJi&EAZCV*dm7gSSyLs5XS@F8" \ # -e POSTGRES_DB=matrix_synapse \ # -e LC_COLLATE='C' \ # -e LC_CTYPE='C' \ # -e POSTGRES_INITDB_ARGS="--encoding=UTF-8" \ # -v /mnt/Docker/Synapse/postgres:/var/lib/postgresql/data \ # --restart=unless-stopped postgres:alpine echo "Sichere PostgresSQL..." docker exec postgres sh -c "pg_dumpall -U matrix > /var/lib/postgresql/data/dump.sql" mv /mnt/Docker/Synapse/postgres/dump.sql /mnt/Docker/Synapse/dump.sql echo "Erledigt!" echo "Stoppe Docker-Container" docker stop postgres echo "Lösche Postgres-Volume..." rm -r /mnt/Docker/Synapse/postgres/* echo "Erledigt!" echo "Jetzt aktualisiere das PostgresSQL-Image auf eine neue Version!" echo "Bestätige mit OK wenn der Container läuft..." read -p "Warte auf Eingabe" readline if [ "$readline" = "OK" ]; then echo "Restore PostgresSQL aus Backup in neue Version...!" cp /mnt/Docker/Synapse/dump.sql /mnt/Docker/Synapse/postgres/dump.sql docker exec postgres sh -c "psql -U matrix -d matrix_synapse < /var/lib/postgresql/data/dump.sql" docker restart postgres else echo "Abbruch" exit fi echo "Finish!"