Recherche…


Syntaxe

  • Le script vous permet de créer un répertoire de sauvegarde pour chaque exécution avec la syntaxe suivante: Nom du répertoire de sauvegarde de la base de données + date et heure d'exécution
  • Exemple: prodDir22-11-2016-19h55
  • Une fois créé, il crée deux fichiers de sauvegarde avec la syntaxe suivante: Nom de la base de données + date et heure d'exécution
  • Exemple :
  • dbprod22-11-2016-19h55.backup (fichier de vidage)
  • dbprod22-11-2016-19h55.sql (fichier SQL)
  • À la fin d'une exécution au 22-11-2016 @ 19h55 , nous obtenons:
  • /save_bd/prodDir22-11-2016-19h55/dbprod22-11-2016-19h55.backup
  • /save_bd/prodDir22-11-2016-19h55/dbprod22-11-2016-19h55.sql

Paramètres

paramètre détails
save_db Le répertoire de sauvegarde principal
dbProd Le répertoire de sauvegarde secondaire
RENDEZ-VOUS AMOUREUX La date de la sauvegarde au format spécifié
dbprod Le nom de la base de données à enregistrer
/opt/postgres/9.0/bin/pg_dump Le chemin du binaire pg_dump
-h Spécifie le nom d'hôte de la machine sur laquelle le serveur est exécuté. Exemple: localhost
-p Spécifie le port TCP ou l'extension de fichier de domaine Unix local sur lequel le serveur écoute les connexions. Exemple 5432
-U Nom d'utilisateur à connecter en tant que.

Remarques

  1. S'il existe un outil de sauvegarde tel que HDPS ou Symantec Backup , il est nécessaire de vider le répertoire de sauvegarde avant chaque lancement .

Pour éviter d'encombrer l'outil de sauvegarde car la sauvegarde des anciens fichiers est supposée être effectuée.

Pour activer cette fonctionnalité, veuillez ne pas commenter la ligne N ° 3.

rm -R / save_db / *
  1. Dans le cas où le budget ne permet pas d'avoir un outil de sauvegarde, on peut toujours utiliser le planificateur de tâches ( commande cron ).

La commande suivante permet d'éditer la table cron pour l'utilisateur actuel.

crontab -e

Planifiez le lancement du script avec le calendrier à 23 heures.

0 23 * * * /saveProdDb.sh

saveProdDb.sh

En général, nous avons tendance à sauvegarder la base de données avec le client pgAdmin. Voici un script sh utilisé pour enregistrer la base de données (sous Linux) dans deux formats:

  • Fichier SQL : pour un éventuel résumé de données sur n'importe quelle version de PostgreSQL.

  • Fichier de vidage : pour une version supérieure à la version actuelle.

#!/bin/sh
cd /save_db
#rm -R /save_db/*
DATE=$(date +%d-%m-%Y-%Hh%M)
echo -e "Sauvegarde de la base du ${DATE}"
mkdir prodDir${DATE}
cd prodDir${DATE}

#dump file
/opt/postgres/9.0/bin/pg_dump -i -h localhost -p 5432 -U postgres -F c -b -w -v -f "dbprod${DATE}.backup" dbprod

#SQL file
/opt/postgres/9.0/bin/pg_dump -i -h localhost -p 5432 -U postgres --format plain --verbose  -f "dbprod${DATE}.sql" dbprod


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow