Como configurar backup automático de um VPS para armazenamento externo (S3)
Oi! Aqui é a Sensei da GeHost 🌱. Vamos falar de um assunto que todo mundo que administra um VPS deveria levar a sério: backup externo automático. Ter uma cópia dos seus dados guardada fora do próprio servidor é a diferença entre um susto rapidamente resolvido e uma dor de cabeça sem volta. Vamos configurar isso juntos, passo a passo, sem pressa.
Regra de ouro do backup: se a cópia está guardada dentro do mesmo servidor que você quer proteger, ela não é um backup de verdade — é só uma segunda cópia correndo o mesmo risco. Por isso enviamos para um armazenamento externo, como o S3.
O que você vai precisar antes de começar
- Acesso root (ou sudo) via SSH ao seu VPS.
- Uma conta em um serviço de armazenamento compatível com S3 (Amazon S3 ou outro provedor compatível) e um bucket já criado.
- Uma chave de acesso (Access Key) e uma chave secreta (Secret Key) com permissão apenas de escrita/leitura nesse bucket — evite usar credenciais "master" da sua conta.
Passo 1 — Crie o bucket e as credenciais de acesso
No painel do seu provedor de armazenamento, crie um bucket exclusivo para os backups desse VPS (por exemplo, algo como meusite-backups). Em seguida, gere uma chave de acesso dedicada a essa finalidade, com o mínimo de permissão necessária — só o suficiente para enviar (upload) e listar arquivos nesse bucket específico.
Dica da Sensei: nunca reutilize a mesma chave de acesso em vários servidores ou finalidades. Se um dia precisar revogar o acesso, você troca só aquela chave, sem afetar mais nada.
Passo 2 — Instale uma ferramenta de sincronização no VPS
Existem duas ferramentas bem populares e gratuitas para esse trabalho: o rclone (mais flexível, funciona com vários provedores de nuvem) ou o AWS CLI (oficial da Amazon). Qualquer um dos dois resolve bem. Aqui vamos usar o rclone como exemplo, por ser simples de configurar:
- Conecte no VPS via SSH.
- Instale o rclone seguindo as instruções oficiais do próprio site da ferramenta para a distribuição do seu servidor.
- Rode o comando de configuração interativa da ferramenta e informe a chave de acesso, a chave secreta e a região do seu bucket quando solicitado.
Passo 3 — Teste o envio manual antes de automatizar
Antes de agendar qualquer coisa, faça um teste manual: envie uma pasta pequena ou um arquivo de teste para o bucket usando a ferramenta configurada. Confirme, entrando no painel do provedor, que o arquivo realmente chegou lá. Nunca automatize um processo que você ainda não testou manualmente — é assim que backups "silenciosamente quebrados" acontecem.
Passo 4 — Crie um script de backup
Um bom script de backup normalmente faz três coisas:
- Gera um dump do que precisa ser salvo (banco de dados, arquivos do site, configurações importantes).
- Compacta tudo em um único arquivo (por exemplo, um
.tar.gz), já com a data no nome do arquivo. - Envia esse arquivo compactado para o bucket S3 usando a ferramenta que você configurou no Passo 2.
Salve esse script em um arquivo, dê permissão de execução a ele, e rode manualmente uma vez para conferir se o processo inteiro funciona do início ao fim.
Passo 5 — Agende a execução automática (cron)
Com o script testado e funcionando, o próximo passo é deixá-lo rodando sozinho, em uma frequência que faça sentido para o seu site (diária é o mais comum). No Linux, isso é feito com o cron:
- Edite a tabela de agendamentos do usuário root (ou do usuário responsável pelo backup).
- Adicione uma linha apontando para o caminho completo do seu script, no horário escolhido — de preferência em um horário de baixo movimento no site.
- Salve e confirme que o agendamento foi registrado.
Dica da Sensei: escolha um horário de madrugada para rodar o backup. Isso evita concorrência com o pico de acessos do site e reduz o impacto no desempenho durante o processo.
Passo 6 — Defina uma política de retenção
Guardar backups para sempre custa dinheiro e organização. Vale configurar uma rotina (dentro do próprio script ou usando regras de ciclo de vida do próprio bucket) para manter, por exemplo, os últimos backups de um período determinado e descartar os mais antigos automaticamente. Assim seu armazenamento não cresce sem controle.
Passo 7 — Teste a restauração (o passo que quase todo mundo esquece)
Um backup só tem valor se você já sabe como restaurá-lo. De tempos em tempos, baixe um dos arquivos salvos no bucket e faça um teste de restauração — mesmo que em um ambiente separado. É a única forma de ter certeza de que, no dia em que você realmente precisar, o backup vai funcionar.
Dica da Sensei: backup sem teste de restauração é um "backup de fé" — você acredita que vai funcionar, mas só descobre a verdade na hora do desespero. Teste sempre, com calma, antes que a emergência apareça.
Boas práticas extras
- Sempre que possível, ative criptografia no envio e no armazenamento dos arquivos de backup.
- Monitore se os backups estão realmente sendo criados (por exemplo, recebendo um alerta caso o script falhe).
- Mantenha as credenciais de acesso ao bucket fora do controle de versão (nunca em repositórios públicos de código).
Se tiver qualquer dúvida durante a configuração do seu VPS ou sobre os detalhes específicos do seu plano, dá uma olhada no painel.gehost.com.br ou fala com o nosso suporte. Estamos aqui para ajudar! 🌿