Como automatizar backups do VPS para armazenamento externo (S3 ou similar) imprimir

  • 0

Como automatizar backups do seu VPS para um armazenamento externo (S3 ou similar)

Oi! Aqui é a Sensei da GeHost 🌱. Se você administra um VPS (um servidor com acesso root via SSH), sabe que backup não pode depender da sua memória — ele precisa acontecer sozinho, todo dia, sem você precisar lembrar. Neste guia vou te mostrar, passo a passo, como programar backups automáticos do seu VPS e enviá-los para um armazenamento externo compatível com S3. Bora lá, com calma, juntos.

Antes de tudo: este guia é para quem tem um VPS com acesso root/SSH. Se o seu produto é uma hospedagem cPanel (sem acesso root), pule para a última seção — o processo é bem mais simples por lá.

Por que automatizar (e não fazer "na mão")

Backup manual é backup que, mais cedo ou mais tarde, alguém esquece de fazer — geralmente no pior momento. Automatizando, o servidor cuida disso sozinho, e o arquivo fica guardado fora do próprio VPS. Isso é essencial: se o backup fica só dentro do servidor e o servidor tem um problema, o backup vai junto. Por isso o destino precisa ser externo.

O que você vai precisar

  • Acesso root/SSH ao seu VPS;
  • Uma conta de armazenamento compatível com S3 (Amazon S3, ou qualquer serviço "S3-compatible" que você já utilize);
  • As credenciais de acesso desse armazenamento (chave de acesso e chave secreta, geralmente fornecidas pelo provedor do serviço);
  • Um pouquinho de paciência na primeira configuração — depois disso, é só deixar rodando.

Passo 1 — Instalar uma ferramenta de sincronização

A ferramenta mais usada e mais amigável para isso é o rclone, que "conversa" com praticamente qualquer serviço compatível com S3. Conectado via SSH ao seu VPS, instale com:

sudo apt update
sudo apt install rclone -y

(Em outras distribuições Linux o comando de instalação muda um pouco — se não for Ubuntu/Debian, consulte a documentação do seu sistema.)

Passo 2 — Configurar a conexão com o armazenamento externo

Rode o assistente de configuração:

rclone config

Ele vai te guiar por perguntas simples: nome do "remote" (dê um nome fácil de lembrar, tipo meubackup), tipo de armazenamento (escolha a opção S3 ou compatível) e, por fim, as credenciais de acesso e o endereço do serviço. Siga as instruções na tela — o assistente é bem didático.

Passo 3 — Testar a conexão

Antes de automatizar qualquer coisa, teste se a conexão está funcionando:

rclone lsd meubackup:

Se aparecer a lista de "buckets" (áreas de armazenamento) da sua conta, deu tudo certo. Se der erro, revise as credenciais no passo anterior — 90% dos problemas aqui são chave de acesso digitada errada.

Passo 4 — Criar um script de backup

Agora vamos criar um pequeno script que empacota o que você quer salvar (por exemplo, uma pasta de arquivos e um banco de dados) e envia para o armazenamento externo. Crie um arquivo, por exemplo /root/backup.sh, com um conteúdo parecido com este:

#!/bin/bash
DATA=$(date +%Y-%m-%d)
DESTINO="/root/backup-$DATA.tar.gz"

# Ajuste o caminho abaixo para a pasta que você quer proteger
tar -czf $DESTINO /caminho/da/sua/aplicacao

# Envia para o armazenamento externo
rclone copy $DESTINO meubackup:nome-do-bucket/backups/

# Remove a cópia local para não acumular espaço em disco
rm $DESTINO

Dê permissão de execução:

chmod +x /root/backup.sh
Dica da Sensei: se o seu backup precisa incluir um banco de dados, gere primeiro um "dump" dele (por exemplo com mysqldump) e inclua o arquivo gerado dentro do tar antes de enviar. Assim você salva estrutura de arquivos e dados do banco juntos.

Passo 5 — Agendar com o cron

Agora vem a parte mágica: fazer isso rodar sozinho, todos os dias. Abra o agendador do sistema:

crontab -e

E adicione uma linha para rodar, por exemplo, todo dia às 3h da manhã (horário de menor uso do servidor):

0 3 * * * /root/backup.sh

Salve e pronto — a partir de agora, todo dia às 3h o script roda sozinho e envia uma cópia fresquinha para o seu armazenamento externo.

Boas práticas para dormir tranquilo

  1. Teste a restauração de vez em quando. Backup que nunca foi restaurado é uma incerteza, não uma garantia. Baixe um backup periodicamente e confirme que ele abre corretamente.
  2. Defina uma política de retenção. Decida quantos dias/backups você quer manter guardados e apague os mais antigos automaticamente (o próprio rclone tem opções para isso), evitando gastar espaço e custo à toa.
  3. Monitore se o script realmente rodou. Vale configurar o script para enviar um e-mail ou registrar um log em caso de falha, assim você percebe rápido se algo parou de funcionar.
  4. Nunca guarde as credenciais em texto aberto em locais públicos (como repositórios de código). Mantenha o arquivo de configuração do rclone protegido, restrito ao usuário root.

E se eu não tenho um VPS, e sim uma hospedagem cPanel?

Sem problema! Se o seu produto GeHost é uma hospedagem cPanel (sem acesso root/SSH), você não precisa de rclone nem de cron manual: o próprio painel já tem uma ferramenta de backup embutida, onde é possível gerar e baixar um backup completo da sua conta — ou de partes específicas, como banco de dados e arquivos.

Tela de Backup do cPanel com opções de Backup Completo e backups parciais

Nesse caso, o caminho é acessar o cPanel, entrar na seção de Backup e gerar o backup por lá, guardando o arquivo baixado em um local seguro fora do servidor (seu computador, ou um serviço de nuvem de sua preferência).

Precisa de uma mãozinha?

Se travar em algum passo ou tiver dúvida sobre o seu plano específico, dá uma olhada no painel.gehost.com.br ou chama nosso suporte. Backup automatizado é daquelas coisas que dá um trabalhinho para configurar uma vez só — e depois te deixa muito mais tranquilo(a) no dia a dia. 💚


Esta resposta lhe foi útil?

« Retornar