Backup y Disaster Recovery de GLPI: Guía Definitiva

Script completo de backup automático de GLPI (base de datos + archivos), rotación de backups, prueba de restore y plan de disaster recovery.

Un backup que nunca se ha probado es esperanza, no estrategia. Esta guía cubre el backup automatizado, la rotación y la prueba de restore de GLPI.

Qué incluir en el backup

  • Base de datos: todos los datos de GLPI (tickets, activos, usuarios, configuración)
  • Archivos: subidas, documentos, plugins, logotipos y configuración personalizada
  • Configuración: archivos de configuración de GLPI y del servidor (Apache/Nginx, PHP)

Script de backup automático

#!/bin/bash
BACKUP_DIR="/backup/glpi/$(date +%Y-%m-%d)"
mkdir -p "$BACKUP_DIR"

# Base de datos
mysqldump -u glpi -pSENHA --single-transaction glpi | gzip > "$BACKUP_DIR/glpi_db.sql.gz"

# Archivos
tar -czf "$BACKUP_DIR/glpi_files.tar.gz" /var/lib/glpi /etc/glpi

# Rotación: mantener últimos 30 días
find /backup/glpi -maxdepth 1 -mtime +30 -exec rm -rf {} \;

echo "Backup completado: $BACKUP_DIR"

Programar en cron: 0 2 * * * /opt/scripts/backup-glpi.sh

Backup con Docker

# Base de datos
docker exec glpi-db mysqldump -u glpi -pSENHA glpi | gzip > /backup/glpi_db.sql.gz

# Volúmenes
tar -czf /backup/glpi_volumes.tar.gz /opt/glpi/data /opt/glpi/config

Prueba de restore

  1. Levanta un entorno de prueba (Docker es ideal)
  2. Restaura la base de datos: gunzip < glpi_db.sql.gz | mysql -u root glpi_test
  3. Restaura los archivos en los directorios correspondientes
  4. Accede al GLPI de prueba y verifica: inicio de sesión, tickets, activos, plugins

Disaster Recovery

  • RPO (Recovery Point Objective): ¿cuántos datos puedes perder? (define la frecuencia del backup)
  • RTO (Recovery Time Objective): ¿cuánto tiempo para restaurar? (define dónde y cómo almacenar los backups)
  • Mantén una copia offsite (otro servidor, almacenamiento en la nube)
  • Documenta el procedimiento de restore paso a paso

Preguntas Frecuentes

Backup de la base de datos (mysqldump) + backup de los directorios de datos (/var/lib/glpi), configuración (/etc/glpi) y plugins. Automatiza con cron y rotación de 30 días.

Base de datos: diaria. Archivos: semanal (cambian menos). Backups incrementales durante el día si el volumen de tickets es alto.

Restaura periódicamente en un entorno de prueba. Un backup que nunca se ha probado es tan malo como no tener backup. Programa pruebas trimestrales.

Sí. Haz backup de los volúmenes Docker con docker cp o rsync de los directorios montados. La base de datos necesita un mysqldump consistente.

?Necesitas ayuda?