Une sauvegarde qui n'a jamais été testée est de l'espoir, pas une stratégie. Ce guide couvre la sauvegarde automatisée, la rotation et le test de restauration de GLPI.
Que sauvegarder
- Base de données : toutes les données GLPI (tickets, actifs, utilisateurs, paramètres)
- Fichiers : téléversements, documents, plugins, logos et paramètres personnalisés
- Configuration : fichiers de configuration de GLPI et du serveur (Apache/Nginx, PHP)
Script de sauvegarde automatique
#!/bin/bash
BACKUP_DIR="/backup/glpi/$(date +%Y-%m-%d)"
mkdir -p "$BACKUP_DIR"
# Base de données
mysqldump -u glpi -pSENHA --single-transaction glpi | gzip > "$BACKUP_DIR/glpi_db.sql.gz"
# Fichiers
tar -czf "$BACKUP_DIR/glpi_files.tar.gz" /var/lib/glpi /etc/glpi
# Rotation : conserver les 30 derniers jours
find /backup/glpi -maxdepth 1 -mtime +30 -exec rm -rf {} \;
echo "Sauvegarde terminée : $BACKUP_DIR"Planifier avec cron : 0 2 * * * /opt/scripts/backup-glpi.sh
Sauvegarde avec Docker
# Base de données
docker exec glpi-db mysqldump -u glpi -pSENHA glpi | gzip > /backup/glpi_db.sql.gz
# Volumes
tar -czf /backup/glpi_volumes.tar.gz /opt/glpi/data /opt/glpi/configTest de restauration
- Montez un environnement de test (Docker est idéal)
- Restaurez la base de données :
gunzip < glpi_db.sql.gz | mysql -u root glpi_test - Restaurez les fichiers dans les répertoires correspondants
- Accédez au GLPI de test et vérifiez : connexion, tickets, actifs, plugins
Reprise après sinistre
- RPO (Recovery Point Objective) : quelle perte de données est acceptable ? (définit la fréquence de sauvegarde)
- RTO (Recovery Time Objective) : combien de temps pour restaurer ? (définit où et comment stocker les sauvegardes)
- Conservez une copie hors site (autre serveur, stockage cloud)
- Documentez la procédure de restauration étape par étape