Difficulty: Beginner
Estimated Time: 10 minutes

TP2 - Création d'un script de sauvegarde avec postgres

Utiliser une base de données pour gérer des sauvegardes

Objectif :

  • Apprendre à installer un cluster PostgreSQL
  • Apprendre à créer un modèle de données
  • Apprendre à scripter la manipulation de données

Sommaire :

  • Installer un cluster de données PostgreSQL
  • Créer une base de données dans le cluster
  • Créer un utilisateur
  • Créer les tables nécessaires
  • Modifier le script de sauvegarde pour utiliser PostgreSQL
  • Écrire un script qui affiche les sauvegardes disponibles
  • Écrire un script de purge des anciennes sauvegardes
  • Mise en place de l'externalisation des sauvegardes

Présentation du contexte

En tant que responsable d'un parc informatique, vous avez pour mission de mettre en place un système de sauvegarde de fichier.

Infrastructure

Dans ce TP vous allez manipuler des machines virtuelles :

  • Serveur de base de données PostgreSQL : database
  • Serveurs de fichiers : fileserver1, fileserver2, ...

Le serveur de fichier sera le serveur de traitement sur lequel le script de sauvegarde sera effectué. Mais ce script stockera et manipulera les métadonnées des sauvegardes dans une base PostgreSQL.

Afin de simuler ce fonctionnement nous allons utiliser :

  • Vagrant, pour ceux qui souhaites travailler sur leur poste
  • Une infrastructure cloud pour les autres

    ModeleBDD

Modèle de données

Vous devez mettre en place le modèle suivant dans la base de données :

ModeleBDD

Prérequis

  • Un poste de travail avec "Vagrant"
  • Un accès cloud

Si vous utilisez Vagrant, installer l'environnement du TP avec les commandes suivantes :

mkdir 4-exercice-sql-3
  cd 4-exercice-sql-3
  curl https://framagit.org/matgou/sgbd-cours/raw/master/4-exercice-sql-3/Vagrant/Vagrantfile?inline=false > Vagrantfile
  vagrant up
  

Don’t stop now! The next scenario will only take about 10 minutes to complete.

Exercice SQL : Gestion de la location de vehicules

Requette SELECT

Installation de PostgreSQL

Pour ce chapitre, ouvrez une console ssh sur le serveur "database" :

vagrant ssh database

1) Utiliser apt pour installer un serveur PostgreSQL (donner le nom de la commande lancé)

2) A quoi correspond la sortie de la commande "pg_lsclusters"

Vous pouvez utiliser les commandes suivantes pour stopper et démarre le cluster par default :

sudo pg_ctlcluster 9.6 main stop
sudo pg_ctlcluster 9.6 main start

3) Créer un nouveau cluster avec la commande pg_createcluster. Le nom du cluster doit être "tp2_cluster" (donner le nom de la commande lancé)

4) Utiliser sudo et "createdb" pour créer une nouvelle base de données : "tp2_database"

5) Utiliser sudo et "createuser" (avec les options -P et -s) pour créer un utilisateur : "tp2_dbuser"

6) Tester vos commandes en utilisant psql depuis le serveur "database"

7) Effectuer aussi un test mais depuis l’hôte "fileserver1", pourquoi cela ne fonctionne pas ?

8) Sur le serveur "database" modifier le fichier postgresql.conf qui se trouve dans /etc afin de corriger le problème.

9) Le test depuis l’hôte "fileserver1" ne fonctionne toujours pas, il faut aussi ajouter les lignes suivantes dans pg_hba.conf. Ajouter les lignes ci-dessous et donner quel est le rôle de ce fichier ?

host all all 0.0.0.0/0 md5