*# Backup automatizado do n8n na VPS: banco, arquivos, retenção e testes de restore
Meta descrição: Aprenda a fazer backup automatizado do n8n na VPS: banco PostgreSQL, arquivos, política de retenção e testes de restore seguros.
*

Manter o n8n rodando em uma VPS é ótimo: você tem controle total, consegue usar nodes da comunidade, escala recursos e não fica preso a limites de execuções típicos de plataformas SaaS. Só tem um “detalhe” que muita gente só lembra quando dá problema: sem um backup automatizado do n8n na VPS, qualquer atualização mal-sucedida, disco cheio, erro humano (tipo um rm -rf no lugar errado) ou corrupção de banco pode custar horas — ou dias — reconstruindo workflows, credenciais e configurações.
Um plano de backup bom não é apenas “copiar uma pasta” ou “exportar um JSON de vez em quando”. No n8n, os dados críticos ficam principalmente no banco de dados (na maioria das instalações sérias, um PostgreSQL) e também em arquivos que vivem no volume/pasta de dados do n8n e, dependendo do seu setup, em diretórios adicionais (uploads, binários, logs e até configurações de proxy/reverse proxy). Além disso, backup de verdade precisa de três coisas:
- Automação: rodar sozinho, de preferência com logs e alertas em caso de falha.
- Retenção/versionamento: manter histórico suficiente para voltar no tempo (e não só “o último backup”).
- Teste de restore: comprovar que o backup restaura mesmo, e não só “parece” que funciona.
Ao longo deste artigo, você vai montar um plano completo e iniciante-friendly: entender o que precisa ser protegido, como fazer backup do banco PostgreSQL do n8n, como fazer backup dos arquivos do n8n em VPS, como definir retenção e segurança, e como testar restore do n8n na VPS com um procedimento repetível.
A ideia aqui é te deixar com um caminho claro para sair do “espero que esteja tudo bem” e entrar no “se quebrar, eu restauro em minutos”.
Como funciona a arquitetura do n8n na VPS e quais dados precisam ser protegidos
Antes de automatizar qualquer coisa, você precisa ter clareza sobre o que é “o n8n” na sua VPS. Porque, na prática, ele é um conjunto de componentes: aplicação, banco, arquivos de dados e (muitas vezes) infraestrutura de apoio.
O que normalmente existe em uma instalação do n8n na VPS
Em setups comuns (Docker/Compose ou instalação direta), você geralmente tem:
- Aplicação do n8n: o serviço que você acessa via navegador.
- Banco de dados (idealmente PostgreSQL): onde ficam workflows, credenciais, execuções e metadados.
- Diretório/volume de dados do n8n: onde o n8n guarda informações locais (dependendo do modo de execução e de features usadas).
- Reverse proxy e SSL (Nginx/Traefik/Caddy): muito comum para expor o n8n em domínio com HTTPS.
- Variáveis de ambiente/arquivos de configuração:
.env,docker-compose.yml, configs do Nginx, etc.
Quais dados realmente são críticos
Para pensar em backup automatizado do n8n na VPS, vale separar por prioridade:
1) Banco de dados (prioridade máxima)
É aqui que mora a maior parte do valor:
- Workflows (seu “código” visual)
- Credenciais (armazenadas com criptografia; dependem da sua chave)
- Execuções e histórico (se você opta por guardar)
- Configurações internas do n8n
Se você perder o banco, na maioria dos casos você perde o n8n “de verdade”.
2) Chaves e variáveis sensíveis
Muita gente faz backup do banco, mas esquece do ponto mais sutil: credenciais no n8n dependem da chave de criptografia (N8N_ENCRYPTION_KEY). Se você restaurar o banco em outra máquina sem essa chave, as credenciais podem ficar inutilizáveis.
Então, proteja também:
.env(ou onde estiverem suas variáveis)N8N_ENCRYPTION_KEY- Segredos do proxy (se houver)
3) Arquivos do n8n e volumes
Dependendo da sua arquitetura, podem existir:
- Pasta/volume do n8n (ex.:
~/.n8nem instalações não-Docker) - Arquivos binários (quando você usa nodes que baixam/geram arquivos)
- Uploads temporários e assets
4) Infraestrutura como código (para reconstruir rápido)
Mesmo que você consiga recriar, é ótimo ter salvo:
docker-compose.yml(ou unit files do systemd)- Config do Nginx/Traefik
- Regras de firewall básicas
Um cuidado de iniciante que evita dor de cabeça
Muita gente confunde “exportar workflows” com backup completo. Exportar ajuda (e é excelente como camada extra), mas não substitui o backup, porque não inclui credenciais, histórico e estado do sistema.
O objetivo do plano que vamos montar é garantir que, se sua VPS cair hoje, você consiga subir outra e restaurar tudo com o mínimo de atrito — mantendo o n8n funcionando como antes.
🤖 Uma forma prática de dominar n8n e agentes (e montar projetos com padrão profissional)
Se você está montando n8n em VPS e já começou a se preocupar com backup, retenção e restore, isso é um ótimo sinal: você está pensando como alguém que coloca automações para rodar “de verdade”, e não só para teste.
Um lugar que eu recomendaria tranquilamente (especialmente para iniciantes) é a Formação Agentes de IA (n8n) da Hora de Codar. Ela é bem mão na massa e vai do básico do n8n até projetos mais avançados com agentes, integrações e configuração profissional — o tipo de conteúdo que ajuda a organizar seu ambiente e evitar improvisos que depois viram dor de cabeça.
Se quiser dar uma olhada no que tem dentro e ver se faz sentido para o seu momento, aqui está o link: https://app.horadecodar.com.br/lp/formacao-agentes-de-ia-n8n?utm_source=blog
Para referência rápida, a formação já passou de 8100+ alunos, tem 11+ cursos, 221+ aulas, 20h+ de conteúdo e 21+ projetos, então dá para evoluir bem sem precisar “caçar” peças soltas.
Backup do banco PostgreSQL do n8n: métodos, comandos e práticas recomendadas
Quando falamos em backup do banco PostgreSQL do n8n, o caminho mais seguro para a maioria dos iniciantes é usar ferramentas nativas do Postgres. O padrão-ouro para backups lógicos (portáveis) é o pg_dump. Ele gera um arquivo que você consegue restaurar em outro servidor, em outra VPS, ou até em outra versão compatível do Postgres.
Opção mais comum: backup lógico com pg_dump
O pg_dump faz um “snapshot lógico” do banco, sem precisar parar o Postgres. Para um n8n comum, isso costuma ser suficiente.
Se o Postgres está em container Docker, você pode executar o dump via docker exec. Exemplo (ajuste nomes):
- Container do Postgres:
postgres - Usuário:
n8n - Banco:
n8n
O comando típico é:
pg_dump -Fc -U n8n n8n > n8n_backup.dump
O formato -Fc (custom) é muito recomendado porque:
- compacta melhor
- permite restore seletivo
- costuma ser mais resiliente
Onde iniciantes erram (e como evitar)
1) Backup “parece” gerar arquivo, mas está vazio
Isso acontece quando:
- redirecionamento está sendo feito dentro do container sem permissão
- o comando falhou e você não checou o exit code
Boa prática: sempre registre logs e valide tamanho mínimo do arquivo.
2) Não guardar a encryption key do n8n
Se você restaurar o banco sem a mesma N8N_ENCRYPTION_KEY, o n8n não consegue descriptografar credenciais. Então, junto com o dump do Postgres, faça backup também do arquivo onde está a chave (em geral .env ou secrets).
3) Backup no mesmo disco da VPS
Se o disco corromper ou a VPS for perdida, você perde backup junto. O ideal é “3-2-1”: pelo menos uma cópia fora do servidor.
Automação com cron (simples e eficiente)
A automação mais direta é um cron que roda diariamente e salva com timestamp.
Você não precisa complicar: comece com um backup por dia, e depois refine com retenção.
Uma rotina mínima costuma:
- gerar dump com timestamp
- comprimir (se necessário)
- enviar para um destino externo (S3, storage, outra máquina)
Restore (prévia, para você já entender o formato)
Para restaurar um dump -Fc, você usa pg_restore. O fluxo comum é:
- criar um banco vazio
- executar
pg_restoreapontando para o banco
No fim do artigo eu detalho um procedimento de testar restore do n8n na VPS com validação.
Dica prática: backup consistente vs. backup “rápido”
Se você roda n8n com alto volume, pode valer pensar em:
- reduzir retenção de execuções no n8n (para diminuir tamanho do banco)
- agendar backup em horário de menor carga
Mesmo assim, para a maioria dos projetos, pg_dump diário + retenção + teste de restore já coloca você num patamar muito acima da média.
Vídeo recomendado: instale e rode n8n na VPS (base perfeita para organizar backups)
Se você ainda está ajustando sua instalação (Docker, domínio, SSL) ou quer comparar seu setup com um modelo bem comum, este vídeo ajuda bastante — e facilita até entender onde ficam os volumes e arquivos que você vai colocar no backup.
Assista aqui e já aproveite para pausar nos trechos de Docker Compose/estrutura de pastas, porque isso conversa diretamente com o plano de backup:
CTA: Veja o passo a passo completo no YouTube: https://www.youtube.com/embed/VCKzXFk_XjM?si=eOBTMrjZNPj3q07Z
Backup dos arquivos do n8n em VPS: diretórios, tipos de dados e automação
Além do banco, um backup dos arquivos do n8n em VPS fecha a “segunda metade” do seu plano de segurança. O banco guarda o essencial (workflows, credenciais, execuções), mas os arquivos completam o cenário: configurações, volumes e tudo que dá contexto para você reconstruir o serviço rapidamente.
Quais diretórios/pastas você deve considerar
O caminho exato depende de como você instalou o n8n:
Instalação sem Docker (processo direto)
Muitas vezes existe uma pasta como ~/.n8n (na home do usuário que roda o serviço). É nela que costumam ficar dados locais do n8n.
Instalação com Docker / Docker Compose
Aqui, o mais importante é:
- volume do n8n (mapeado no
docker-compose.yml) - arquivos do projeto (a pasta onde ficam
docker-compose.yml,.env, scripts)
Em setups bem organizados, você terá uma pasta tipo /opt/n8n/ contendo:
docker-compose.yml.env- uma pasta
data/(ou volume) com dados persistentes
Proxy e SSL
Se você usa Nginx/Traefik:
- backup das configs do proxy
- se você gerencia certificados manualmente, salve os diretórios de certificados
Que tipo de dados esses arquivos guardam
- Configuração do ambiente: porta, domínio, webhooks URL, filas, etc.
- Chaves e secrets: especialmente
N8N_ENCRYPTION_KEY(muito importante) - Binários e artefatos: quando workflows geram/baixam arquivos
- Scripts de manutenção: seus próprios scripts de backup/restore
Automação: abordagem simples que funciona
O objetivo é transformar pastas importantes em um arquivo compactado versionado (por exemplo, .tar.gz) e enviar para um destino externo.
Boas práticas para iniciantes:
- não incluir caches inúteis (quando aplicável)
- colocar timestamp no nome
- registrar logs
Uma ideia bem comum é:
1) criar um diretório local de staging (ex.: /var/backups/n8n/files/)
2) gerar o tar do diretório do projeto (/opt/n8n) e/ou do volume (/var/lib/docker/volumes/... ou o caminho mapeado)
3) enviar para storage externo
Cuidados de segurança (arquivos têm segredos!)
Quando você faz backup de .env, você está copiando segredos. Então:
- garanta permissões restritas no servidor (ex.: backup acessível só por root)
- criptografe o arquivo antes de enviar para fora (ou use um storage com criptografia)
Separar “backup para reconstruir” de “backup para restaurar dados”
Algo que ajuda muito:
- Backup de reconstrução: compose, env, config do proxy (pequeno, rápido)
- Backup de dados: banco + volume/pasta de dados (pode ser maior)
Isso reduz o tempo de recuperação porque, em muitos incidentes, você precisa só recriar o serviço e restaurar o banco.
Com banco e arquivos cobertos, você já tem a base de um backup automatizado do n8n na VPS que realmente te protege — agora falta definir retenção/versionamento e garantir que ninguém (nem você) consiga “estragar” o histórico por acidente.
Política de retenção, versionamento e segurança para backups do n8n
Ter backups automáticos é ótimo. Ter backups automáticos com retenção e segurança é o que transforma isso em um plano de continuidade de verdade. Sem retenção, você corre o risco de descobrir hoje que o problema começou há duas semanas — e seu “último backup” já está contaminado. Sem segurança, qualquer pessoa que acessar seus backups pode ter acesso a tokens, credenciais e dados sensíveis.
Retenção: quanto tempo guardar?
Não existe um número mágico, mas para iniciantes uma política prática costuma funcionar bem:
- Diários: guardar de 7 a 14 dias
- Semanais: guardar de 4 a 8 semanas
- Mensais: guardar de 3 a 12 meses (dependendo do negócio)
A lógica é simples: você cobre curto prazo com granularidade (diário) e longo prazo com menos volume (semanal/mensal).
Versionamento: backups com “carimbo de tempo”
Evite nomes como backup.sql ou n8n.tar.gz. Use timestamp no padrão ISO, por exemplo:
n8n_pg_2025-12-17_03-00.dumpn8n_files_2025-12-17_03-00.tar.gz
Isso facilita:
- localizar um ponto no tempo
- automatizar limpeza de arquivos antigos
- auditar o que foi feito
Segurança: o que proteger e como
Backups do n8n quase sempre contêm segredos (banco + .env). Então pense em camadas:
1) Controle de acesso
- backups locais com permissão restrita
- storage externo com usuário/credenciais dedicados
2) Criptografia
Se o destino externo for S3/compatível, use criptografia do lado do servidor. Se quiser dar um passo extra, criptografe o arquivo antes do upload.
3) Imutabilidade (quando possível)
Uma prática muito boa é manter uma cópia “imutável” (não pode ser alterada/excluída por um erro ou invasão). Nem todo iniciante implementa isso no começo, mas vale saber que existe.
Não esquecer do “custo invisível” do banco
O banco cresce muito se você guarda execuções por tempo demais. Para manter backups rápidos e baratos:
- ajuste a retenção de execuções no próprio n8n
- mantenha o banco mais enxuto
Isso melhora tudo: menos tempo de dump, menos espaço, restore mais rápido.
Uma regra simples para guiar seu plano
Se você conseguir responder “sim” para as perguntas abaixo, você está num bom caminho:
- Consigo restaurar o n8n de ontem? E de 10 dias atrás?
- Meus backups estão fora da VPS?
- Se alguém pegar meus backups, consegue ler credenciais facilmente?
Agora falta fechar o ciclo: testar restore do n8n na VPS. É aqui que a maioria dos planos falha — não por falta de backup, mas por falta de teste.
💻 Hostinger como VPS para n8n: estável, escalável e com caminho fácil para crescer
Se o seu objetivo é rodar n8n com tranquilidade (e ter um plano de backup automatizado do n8n na VPS que não dependa de gambiarra), vale usar uma VPS que seja estável e fácil de gerenciar. A VPS da Hostinger costuma ser uma escolha bem segura para isso: você tem controle total do ambiente, 99,9% de uptime, dá para escalar CPU/RAM/armazenamento conforme o uso aumenta e ainda rola instalar o n8n com bem menos atrito.
O link de indicação é este: https://www.hostinger.com.br/horadecodar
E se você for contratar, use o cupom HORADECODAR para garantir desconto.
Em termos de planos, dá para começar pequeno e ir crescendo. Por exemplo, o KVM 2 (2 vCPU, 8 GB RAM, 100 GB NVMe) costuma ser um meio-termo bem comum para projetos com automações constantes. E o legal é que, conforme você aumenta a carga (mais workflows, mais execuções, mais filas), você não precisa migrar de provedor: só sobe o plano.
Além disso, eles oferecem 30 dias de garantia de reembolso, o que ajuda bastante se você está escolhendo infraestrutura pela primeira vez.
Testar restore do n8n na VPS: procedimentos, validação e melhores práticas
O passo que mais diferencia um “backup que existe” de um “backup confiável” é testar restore do n8n na VPS. Muita gente só descobre que o dump está quebrado (ou que esqueceu a encryption key) quando já é tarde.
A ideia não é ficar restaurando em produção. É criar um ritual simples: restaurar periodicamente em um ambiente de teste (pode ser outra VPS pequena, um ambiente local, ou até um segundo stack no mesmo servidor — desde que isolado).
O que você precisa para um teste de restore decente
- Um backup do Postgres (dump)
- Um backup dos arquivos/configs (pelo menos
.enve compose) - A mesma
N8N_ENCRYPTION_KEYusada no ambiente original
Sem a chave, o n8n até sobe, mas suas credenciais podem ficar inutilizáveis.
Procedimento recomendado (visão geral)
1) Suba um Postgres limpo (novo banco vazio)
2) Restaure o dump no banco
3) Suba o n8n apontando para esse banco restaurado
4) Valide na prática: login, lista de workflows, credenciais carregando, execuções recentes (se você guarda), e um workflow simples rodando
O que validar (para não ter falso positivo)
O restore “subiu” não significa que está tudo certo. Valide:
- Workflows aparecem e abrem sem erro
- Credenciais não estão “corrompidas” (se o n8n pedir para reautenticar tudo, pode ser chave diferente)
- Um webhook de teste funciona
- Conexões com integrações comuns (Google, Slack, Telegram) ao menos carregam sem quebrar a UI
Frequência: quando testar?
Para iniciantes, uma rotina realista:
- testar restore 1x por mês
- testar restore antes e depois de mudanças grandes (upgrade de versão, troca de VPS, mudança de banco)
Melhores práticas para deixar o restore mais fácil
- Guarde um README com o passo a passo (até você esquecer)
- Tenha os arquivos “infra como código” versionados (por exemplo, em um repositório privado)
- Automatize ao máximo, mas mantenha uma execução manual ocasional (para você entender o processo)
Por que isso reduz muito seu tempo de recuperação
Quando você já testou o restore, você já respondeu antecipadamente perguntas que normalmente aparecem no pior momento:
- “Qual arquivo eu restauro primeiro?”
- “Qual versão do Postgres eu estava usando?”
- “Onde estava a encryption key?”
No fim, o objetivo do backup automatizado do n8n na VPS é simples: transformar desastre em procedimento.
Como configurar o backup automatizado do n8n na VPS?
Para configurar o backup automatizado do n8n na VPS, você deve criar scripts que realizem cópias regulares do banco de dados PostgreSQL e dos arquivos do n8n. É recomendado utilizar ferramentas como cron no Linux para agendar os backups. Certifique-se de armazenar os backups em local seguro, podendo inclusive enviar cópias para armazenamentos externos como S3 ou Google Drive.
Quais dados do n8n devo incluir no backup para garantir um restore completo?
É fundamental incluir no backup o banco de dados PostgreSQL (geralmente n8n usa esse sistema) e a pasta com todos os arquivos de configuração e workflows do n8n. Assim, você garante que poderá restaurar o estado completo da aplicação e todos os fluxos criados.
Como testar e validar os restores dos backups do n8n?
Para garantir que seus backups são confiáveis, realize testes periódicos de restore em um ambiente controlado. Restaure o banco de dados e os arquivos do n8n em uma instância separada da VPS principal e verifique se a aplicação funciona normalmente e todos os fluxos estão disponíveis. Isso assegura que, em caso de necessidade, o backup funcionará corretamente.
Conclusão
Um backup automatizado do n8n na VPS não é um luxo: é parte do que faz suas automações serem confiáveis. Quando você entende a arquitetura (banco + arquivos + chaves), faz backup do banco PostgreSQL do n8n com um método consistente, complementa com backup dos arquivos do n8n em VPS, define uma política de retenção segura e cria o hábito de testar restore do n8n na VPS, você reduz drasticamente o risco de perder trabalho — e, principalmente, o tempo de recuperação quando algo dá errado.
Se você quiser resumir este artigo em uma linha, seria: backup que não é testado é só esperança. Comece simples (diário + retenção básica + cópia fora da VPS), documente o processo e rode um restore mensal. Em pouco tempo, você vai ter um ambiente de n8n muito mais profissional, mesmo sendo iniciante.
E, conforme seu projeto crescer, investir numa VPS estável (para manter os fluxos no ar) e em aprendizado estruturado (para organizar arquitetura, segurança e boas práticas) tende a valer mais do que ficar apagando incêndio.

