Backup e Restauração
Estratégia de backup da plataforma ION Guard para garantir a recuperação de dados em caso de falha.
O que é incluído no backup
| Componente | Conteúdo | Método |
|---|---|---|
| MariaDB | Banco de dados da aplicação (tenants, sites, usuários, alertas, auditoria) | mariadb-dump |
| InfluxDB | Dados time-series de sinais BLE | influx backup |
| Arquivo .env | Configuração e secrets da instalação | Cópia direta |
| Diretório client/ | Dados específicos do cliente | Cópia direta |
O backup não inclui imagens Docker, código da aplicação ou logs — esses são recuperáveis via reinstalação.
Backup manual
Execute o script de backup no servidor:
cd /home/iongrade/ionguard
./scripts/makeBackup.sh
Resultado
O backup é salvo em:
/home/iongrade/ionguard/backup/{timestamp}_iongrade_{host}_ionguard.tar.gz
Deploy SaaS
Em modo SaaS, o backup é automaticamente enviado para S3 após a geração:
s3://iongrade-backups/ionguard/{deploy}/
O upload possui 3 tentativas em caso de falha de rede.
Backup automático
Configure um cron job para backups periódicos:
# Backup diário às 02:00
0 2 * * * cd /home/iongrade/ionguard && ./scripts/makeBackup.sh >> logs/backup.log 2>&1
Restauração
1. Restaurar banco de dados MariaDB
cd /home/iongrade/ionguard
# Extrair o backup
tar -xzf backup/{arquivo}.tar.gz -C /tmp/restore/
# Importar o dump SQL
./scripts/comp.sh exec -T ionguard_mariadb \
mariadb -u ionguard -p"$(grep DB_PASSWORD .env | cut -d= -f2)" \
ionguard < /tmp/restore/mysql/tmp/ionguard.sql
2. Restaurar InfluxDB
# Se o backup contém dados do InfluxDB
./scripts/comp.sh exec -T ionguard_influxdb \
influx restore /tmp/restore/backup/influx_tmp/ \
--org iongrade --bucket ionguard
3. Restaurar configuração
# Restaurar .env (se necessário)
cp /tmp/restore/.env /home/iongrade/ionguard/.env
# Restart dos serviços
./scripts/restartAllServices.sh
Boas práticas
- Faça backup antes de qualquer atualização de versão
- Mantenha pelo menos 7 dias de backups locais
- Teste a restauração periodicamente em ambiente de homologação
- Armazene backups em local separado do servidor de produção
- O script de upgrade (
upgradeToNewestVersion.sh) faz backup automático antes de aplicar a atualização