postgresql
Script de sauvegarde pour une base de données de production
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
- 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 / *
- 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