Pular para o conteúdo principal

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

ComponenteConteúdoMétodo
MariaDBBanco de dados da aplicação (tenants, sites, usuários, alertas, auditoria)mariadb-dump
InfluxDBDados time-series de sinais BLEinflux backup
Arquivo .envConfiguração e secrets da instalaçãoCópia direta
Diretório client/Dados específicos do clienteCó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