From d531d00924a52018b16244ea4a3b4d1e0b6cb5a6 Mon Sep 17 00:00:00 2001 From: morgane Date: Wed, 3 Sep 2025 20:31:30 +0000 Subject: [PATCH] =?UTF-8?q?T=C3=A9l=C3=A9verser=20les=20fichiers=20vers=20?= =?UTF-8?q?"scripts"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/backup_postgres.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 scripts/backup_postgres.sh diff --git a/scripts/backup_postgres.sh b/scripts/backup_postgres.sh new file mode 100644 index 0000000..d3f2121 --- /dev/null +++ b/scripts/backup_postgres.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# Répertoire des backups +BACKUP_DIR="/mnt/backup_syno/dumps/postgres/$(date +%F)" +mkdir -p "$BACKUP_DIR" + +# ---- Paramètres PostgreSQL ---- +POSTGRES_CONTAINER="postgres" +POSTGRES_USER="postgres_user" +POSTGRES_PASSWORD="3rL2&dyZMd7%BY" + +export PGPASSWORD=$POSTGRES_PASSWORD + +# Liste les bases (en se connectant à 'postgres') +DATABASES=$(docker exec -e PGPASSWORD=$POSTGRES_PASSWORD $POSTGRES_CONTAINER \ + psql -U $POSTGRES_USER -d postgres -t -c "SELECT datname FROM pg_database WHERE datistemplate = false;") + +for DB in $DATABASES; do + DB=$(echo $DB | xargs) # supprime espaces éventuels + echo "Dump PostgreSQL: $DB" + docker exec -e PGPASSWORD=$POSTGRES_PASSWORD $POSTGRES_CONTAINER \ + pg_dump -U $POSTGRES_USER -d $DB | gzip > "$BACKUP_DIR/${DB}_postgres_$(date +%F).sql.gz" +done + +unset PGPASSWORD