Sauvegarde et résilience

Présentation

Mise en place d'une stratégie de sauvegarde automatisée et de reprise après sinistre pour le serveur GLPI de Solutech. Les données critiques — tickets, inventaire et configurations — sont protégées par des processus qui s'exécutent sans aucune intervention humaine.

MariaDB Bash Cron Logrotate Disaster Recovery Sécurité

Ce qui a été mis en place

Sauvegarde de la base de données

mysqldump extrait la base GLPI à chaud, sans couper le service. Le fichier SQL généré est horodaté et stocké dans un dossier dédié.

Sauvegarde des fichiers

tar / gzip compresse les fichiers GLPI (configuration, pièces jointes, configuration Apache) en une archive datée.

Automatisation nocturne

Un crontab déclenche le script chaque nuit. Aucune action manuelle n'est nécessaire après la mise en place initiale.

Gestion de l'espace disque

Logrotate (directive rotate 2) conserve automatiquement 3 versions de chaque archive — ni plus, ni moins. La saturation du disque est impossible.

Traçabilité

Chaque exécution écrit une ligne dans /var/log/backup_solutech.log : succès ou erreur, avec horodatage. L'historique est consultable à tout moment.

Sécurité du compte de sauvegarde

Un compte SQL dédié avec les seuls droits SELECT et LOCK TABLES est utilisé. Les identifiants sont hashés en base — jamais stockés en clair dans le script.

Script de sauvegarde
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M)
LOG="/var/log/backup_solutech.log"
Sauvegarde base de données
mysqldump -u sauvegarde -p glpi > /backup/glpi_$DATE.sql
[ $? -eq 0 ] && echo "[$DATE] OK - Dump SQL" >> $LOG   
|| echo "[$DATE] ERREUR - Dump SQL" >> $LOG
Sauvegarde fichiers GLPI
tar -czf /backup/glpi_$DATE.tar.gz /var/www/html/glpi/
[ $? -eq 0 ] && echo "[$DATE] OK - Archive fichiers" >> $LOG   
|| echo "[$DATE] ERREUR - Archive fichiers" >> $LOG
Test de restauration (Disaster Recovery)

Un test complet a été réalisé pour valider que les sauvegardes sont réellement exploitables :

  1. Suppression volontaire de la base (DROP DATABASE glpi)
  2. Restauration à partir du dernier dump SQL
  3. Vérification que l'historique et les données sont intacts dans GLPI

Ce test valide l'ensemble de la chaîne : planification, exécution du script, génération des archives et restaurabilité des données.

Avant : base supprimée, GLPI redemande son installation initiale.

GLPI après suppression volontaire de la base

Après : base restaurée depuis le dump SQL, parc et historique intacts.

GLPI restauré avec le parc intact

Preuves de réalisation

Contenu des archives (tar -tvf)
Contenu des archives tar -tvf
Dump SQL (fichier non vide)
Dump SQL mysqldump
Compte sauvegarde avec mot de passe hashé
Compte sauvegarde MariaDB hashé
Fichier de log
Fichier de log backup
Rotation logrotate
Rotation logrotate fichiers horodatés
Crontab configuré
Crontab automatisation nocturne
GLPI restauré après sinistre
Log de restauration GLPI après sinistre