#!/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

Laisser un commentaire