# 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

Backup Diário Sem Esforço: n8n + Hostinger Mostram Como

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *