Un backup che non è mai stato testato è speranza, non strategia. Questa guida tratta il backup automatizzato, la rotazione e il test di ripristino di GLPI.
Cosa includere nel backup
- Database: tutti i dati di GLPI (ticket, asset, utenti, configurazioni)
- File: upload, documenti, plugin, loghi e impostazioni personalizzate
- Configurazione: file di configurazione di GLPI e del server (Apache/Nginx, PHP)
Script di backup automatico
#!/bin/bash
BACKUP_DIR="/backup/glpi/$(date +%Y-%m-%d)"
mkdir -p "$BACKUP_DIR"
# Database
mysqldump -u glpi -pSENHA --single-transaction glpi | gzip > "$BACKUP_DIR/glpi_db.sql.gz"
# File
tar -czf "$BACKUP_DIR/glpi_files.tar.gz" /var/lib/glpi /etc/glpi
# Rotazione: mantieni gli ultimi 30 giorni
find /backup/glpi -maxdepth 1 -mtime +30 -exec rm -rf {} \;
echo "Backup completato: $BACKUP_DIR"Pianifica con cron: 0 2 * * * /opt/scripts/backup-glpi.sh
Backup con Docker
# Database
docker exec glpi-db mysqldump -u glpi -pSENHA glpi | gzip > /backup/glpi_db.sql.gz
# Volumi
tar -czf /backup/glpi_volumes.tar.gz /opt/glpi/data /opt/glpi/configTest di ripristino
- Avvia un ambiente di test (Docker è ideale)
- Ripristina il database:
gunzip < glpi_db.sql.gz | mysql -u root glpi_test - Ripristina i file nelle directory corrispondenti
- Accedi al GLPI di test e verifica: login, ticket, asset, plugin
Disaster Recovery
- RPO (Recovery Point Objective): quanta perdita di dati è accettabile? (definisce la frequenza del backup)
- RTO (Recovery Time Objective): quanto tempo per il ripristino? (definisce dove e come conservare i backup)
- Mantieni una copia offsite (altro server, cloud storage)
- Documenta la procedura di ripristino passo per passo