
# Como automatizar backups diários do banco de dados MySQL da Hostinger usando n8n
**Introdução**
Manter cópias de segurança regulares do seu **banco de dados MySQL** na Hostinger é essencial para evitar perda de dados e garantir a continuidade do negócio. Neste artigo, você aprenderá passo a passo como configurar o **n8n**, uma ferramenta de automação de fluxos de trabalho, para gerar backups diários de forma totalmente automatizada, segura e sem necessidade de intervenções manuais.
## Configurando o ambiente: n8n e acesso ao MySQL da Hostinger
1. **Instalar o n8n**
– Se você ainda não tem o n8n, pode instalá‑lo rapidamente via Docker:
“`bash
docker run -d –name n8n -p 5678:5678 n8nio/n8n
“`
– Alternativamente, use o **n8n Cloud**, que oferece um ambiente pronto para uso sem precisar configurar servidores.
2. **Obter credenciais de conexão ao MySQL**
– Acesse o painel da Hostinger → *Banco de Dados* → *MySQL* e copie:
– **Host** (ex.: `mysql.hostinger.com`)
– **Porta** (geralmente `3306`)
– **Usuário** e **Senha**
– **Nome do banco** que será backupado.
3. **Criar uma credencial no n8n**
– No n8n, vá em *Credentials* → **MySQL** → *New Credential*.
– Preencha host, porta, usuário, senha e banco. Salve para que os nós posteriores possam reutilizar essas informações de forma segura.
## Construindo o workflow de backup automático
### 1. Agendar a execução diária
– Adicione o nó **Cron** e configure‑o para disparar **uma vez ao dia**, por exemplo às 02:00 h (horário de menor tráfego).
– Defina a expressão cron como `0 2 * * *` para garantir que o processo ocorra sempre à mesma hora.
### 2. Exportar o banco de dados com `mysqldump`
– Insira um nó **Execute Command** logo após o Cron.
– No campo de comando, use a sintaxe abaixo (substitua pelas credenciais criadas no passo anterior):
“`bash
mysqldump -h {{ $json[“host”] }} -P {{ $json[“port”] }} -u {{ $json[“user”] }} -p{{ $json[“password”] }} {{ $json[“database”] }} > /tmp/{{ $json[“database”] }}_{{ $now[“format”](“YYYYMMDD”) }}.sql
“`
– Esse comando gera um arquivo `.sql` nomeado com a data corrente, facilitando a organização dos backups.
### 3. Armazenar o backup em um local seguro
– **Opção A – Google Drive**
– Adicione o nó **Google Drive** → *Upload*.
– Configure a pasta de destino (ex.: `Backups MySQL`).
– Mapeie o caminho do arquivo criado (`/tmp/…`) como entrada para o upload.
– **Opção B – Amazon S3**
– Use o nó **AWS S3** → *Upload*.
– Informe o bucket e a pasta (ex.: `hostinger-backups/`).
– Defina o `Key` como `{{ $json[“database”] }}_{{ $now[“format”](“YYYYMMDD”) }}.sql`.
– **Opção C – FTP/SSH**
– Caso prefira um servidor próprio, insira o nó **FTP** ou **SSH** e envie o arquivo via protocolo seguro.
### 4. Limpeza de backups antigos
– Para evitar acúmulo excessivo, inclua um nó **Delete** (Google Drive, S3 ou FTP) que remova arquivos com mais de **30 dias**.
– Utilize a função de filtragem do n8n:
“`js
$json[“createdAt”] < $now.subtract(30, "day")
```
- Isso garante que apenas os backups mais recentes sejam mantidos, economizando espaço e custos.
### 5. Notificação de sucesso ou falha
- Finalize o fluxo com um nó **Send Email** (ou **Telegram**, **Slack**) para receber um aviso a cada execução.
- Configure duas ramificações:
- **Sucesso** → mensagem “Backup concluído com sucesso em [data/hora]”.
- **Falha** → alerta contendo o erro retornado pelo `mysqldump`.
Com esses nós conectados, seu workflow fica totalmente automatizado, rodando diariamente sem intervenção manual.
## Otimizações e boas práticas para garantir a confiabilidade dos backups
- **Compressão**: antes de enviar o arquivo, insira um nó **Execute Command** que execute `gzip /tmp/arquivo.sql`. O backup será armazenado como `.sql.gz`, reduzindo o tamanho em até 80 %.
- **Verificação de integridade**: após o upload, adicione um nó **HTTP Request** que compare o hash MD5 do arquivo local com o hash remoto, assegurando que o backup não foi corrompido durante a transferência.
- **Rotação baseada em tamanho**: além da retenção de 30 dias, considere um limite de armazenamento (ex.: 5 GB). Use um nó **If** para remover o backup mais antigo quando o total ultrapassar o limite.
- **Criptografia**: se o seu plano da Hostinger permite, habilite SSL/TLS para conexões MySQL e utilize `gpg` para criptografar o arquivo antes do upload, mantendo os dados confidenciais protegidos.
Seguindo essas práticas, você reduz riscos, economiza recursos e mantém a tranquilidade de saber que seus dados críticos estão sempre seguros.
**Conclusão**
Automatizar backups diários do MySQL na Hostinger com n8n transforma uma tarefa manual em um processo confiável, escalável e livre de erros humanos. Ao combinar agendamento, exportação, armazenamento em nuvem, rotação e notificações, você obtém uma estratégia completa que protege seu site ou aplicação. Comece hoje mesmo a implementar esse workflow e durma tranquilo sabendo que seus dados estão sempre protegidos.
---
Quer aprender mais sobre hospedagem e otimização? Aproveite o desconto exclusivo e descubra as melhores soluções da Hostinger:
https://www.hostinger.com/br?REFERRALCODE=CUPOM20DESCONTO
