Sauvegarder plusieurs tables postgresql

#!/bin/bash

#Configuration

PGHOST= »localhost »
PGPORT= »5432″
PGUSER= »mon_utilisateur »
PGDATABASE= »ma_base »
BACKUP_DIR= »/chemin/vers/le/dossier_de_backup »
TABLES=(« table1 » « table2 » « table3 ») # Liste des tables à sauvegarder
DATE=$(date +%Y%m%d_%H%M%S)

Export du mot de passe (évite la saisie manuelle)

export PGPASSWORD= »mon_mot_de_passe »

#Création du dossier de backup s’il n’existe pas

mkdir -p « $BACKUP_DIR »

#Boucle sur chaque table pour faire un dump individuel

for TABLE in « ${TABLES[@]} »

do

FILE= »${BACKUP_DIR}/${TABLE}_${DATE}.sql »

echo « Backup de la table $TABLE vers $FILE… »

pg_dump -h « $PGHOST » -p « $PGPORT » -U « $PGUSER » -d « $PGDATABASE » -t « $TABLE » -F p -f « $FILE »

if [[ $? -eq 0 ]]; then
echo « ✅ Backup de $TABLE terminé. »
else
echo « ❌ Échec du backup pour $TABLE. »
fi

done

#Nettoyage (optionnel)

unset PGPASSWORD


Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *