Backup que nunca foi testado é esperança, não estratégia. Este guia cobre backup automatizado, rotação e teste de restore do GLPI.
O que fazer backup
- Banco de dados: todos os dados do GLPI (chamados, ativos, usuários, configurações)
- Arquivos: uploads, documentos, plugins, logos e configurações customizadas
- Configuração: arquivos de config do GLPI e do servidor (Apache/Nginx, PHP)
Script de backup automático
#!/bin/bash
BACKUP_DIR="/backup/glpi/$(date +%Y-%m-%d)"
mkdir -p "$BACKUP_DIR"
# Banco de dados
mysqldump -u glpi -pSENHA --single-transaction glpi | gzip > "$BACKUP_DIR/glpi_db.sql.gz"
# Arquivos
tar -czf "$BACKUP_DIR/glpi_files.tar.gz" /var/lib/glpi /etc/glpi
# Rotação: manter últimos 30 dias
find /backup/glpi -maxdepth 1 -mtime +30 -exec rm -rf {} \;
echo "Backup concluído: $BACKUP_DIR"Agende no cron: 0 2 * * * /opt/scripts/backup-glpi.sh
Backup com Docker
# Banco
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/configTeste de restore
- Suba um ambiente de teste (Docker é ideal)
- Restaure o banco:
gunzip < glpi_db.sql.gz | mysql -u root glpi_test - Restaure os arquivos nos diretórios correspondentes
- Acesse o GLPI de teste e verifique: login, chamados, ativos, plugins
Disaster Recovery
- RPO (Recovery Point Objective): quanto tempo de dados você aceita perder? (define frequência do backup)
- RTO (Recovery Time Objective): quanto tempo para restaurar? (define onde e como armazenar backups)
- Mantenha cópia offsite (outro servidor, cloud storage)
- Documente o procedimento de restore passo a passo