Como usar o crontab pra automatizar backups incrementais fora do painel imprimir

  • 0

Backups incrementais automáticos com crontab: o backup rodando sozinho, todo santo dia

Oi! Aqui é a Sensei de novo. Hoje vamos conversar sobre um assunto que é praticamente uma dublê de segurança pro seu site: automatizar backups incrementais usando o crontab, direto pelo terminal (SSH), sem depender de clicar em nada no painel.

Calma que não é bicho de sete cabeças. Vou te guiar com carinho, passo a passo, como se estivéssemos sentadas lado a lado olhando pra tela. Bora?

O que é isso, afinal?

O cPanel (o painel da sua hospedagem) já tem uma tela de Backup bem simples de usar, onde você pode gerar backups completos ou parciais com poucos cliques:

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

Só que essa tela é manual: você precisa lembrar de entrar lá e clicar. O crontab é diferente: é o "agendador de tarefas" do sistema, que roda comandos sozinho, na hora que você definir, sem você precisar tocar em nada depois de configurado. E "backup incremental" significa que, depois do primeiro backup completo, os próximos só salvam o que mudou — mais rápido e ocupando bem menos espaço.

Pense assim: o backup completo é tirar uma foto de tudo. O incremental é só fotografar o que mudou desde a última foto. Muito mais leve pro seu espaço em disco!

Antes de começar: o que você precisa

  • Acesso SSH habilitado na sua hospedagem. Se você não sabe se o seu plano tem isso liberado, confira no painel.gehost.com.br ou fale com o nosso suporte — eles te confirmam certinho.
  • Um programa cliente de SSH no seu computador (no Windows, algo como o PuTTY ou o próprio terminal do Windows 10/11; no Mac e Linux, o Terminal já vem pronto).
  • Seu usuário e senha (ou chave SSH) de acesso, que ficam disponíveis no seu painel de cliente.
  • Um pouquinho de paciência para os primeiros testes. 💛

Passo 1 — Conectando via SSH

Abra seu cliente SSH e conecte usando o seu usuário de hospedagem, algo como:

ssh seuusuario@seudominio.com.br

Digite sua senha (ou use a chave, se você configurou uma) e pronto: você está "dentro" do servidor, na sua própria área de arquivos.

Passo 2 — Entendendo a sintaxe do crontab

O crontab funciona com uma linha de agendamento assim:

minuto hora dia-do-mês mês dia-da-semana comando

Alguns exemplos práticos para você se acostumar:

  • 0 3 * * * → todo dia, às 3h da manhã (ótimo horário, com menos acesso no site).
  • 0 3 * * 0 → toda semana, no domingo às 3h.
  • 30 2 1 * * → todo dia 1º do mês, às 2h30.
Dica da Sensei: agende sempre em horários de baixo movimento (madrugada, geralmente) para não competir com o tráfego normal do seu site por recursos.

Passo 3 — Criando o script de backup incremental

Um jeito simples e eficiente de fazer backup incremental é usando o comando rsync com a opção --link-dest, que reaproveita arquivos que não mudaram (economizando espaço) e só copia de verdade o que foi alterado.

Crie um arquivo de script, por exemplo backup_incremental.sh, dentro da sua área pessoal (fora da pasta pública do site, por segurança):

#!/bin/bash
DATA=$(date +%Y-%m-%d_%H-%M)
DESTINO="$HOME/backups"
ULTIMO="$DESTINO/ultimo"
NOVO="$DESTINO/$DATA"

mkdir -p "$DESTINO"

rsync -a --delete --link-dest="$ULTIMO" "$HOME/public_html/" "$NOVO/"

rm -f "$ULTIMO"
ln -s "$NOVO" "$ULTIMO"

Dê permissão de execução ao script:

chmod +x backup_incremental.sh

Você pode conferir a estrutura de pastas do seu site (como public_html) direto pelo Gerenciador de Arquivos do painel, se quiser confirmar os caminhos antes de rodar o script:

Gerenciador de Arquivos do cPanel mostrando a árvore de pastas, incluindo public_html

Passo 4 — Agendando o script no crontab

Ainda no terminal SSH, digite:

crontab -e

Isso abre o editor de agendamentos. Adicione uma linha no final, por exemplo, para rodar todo dia às 3h da manhã:

0 3 * * * /home/seuusuario/backup_incremental.sh >> /home/seuusuario/backup.log 2>&1

Salve e feche o editor (no nano, geralmente é Ctrl+O para salvar e Ctrl+X para sair). Pronto! A partir de agora, o backup roda sozinho, no horário definido, sem você precisar lembrar de nada.

Passo 5 — Testando e conferindo se está tudo certo

  1. Antes de confiar no agendamento, rode o script manualmente uma vez: ./backup_incremental.sh
  2. Verifique se a pasta de backups foi criada e se os arquivos estão lá dentro.
  3. Depois que o cron rodar automaticamente pela primeira vez, confira o arquivo de log (backup.log) para garantir que não teve erro.
  4. Liste seus agendamentos ativos a qualquer momento com: crontab -l
Dica de ouro: backup incremental economiza espaço, mas ele ainda mora no mesmo servidor do seu site. Sempre que possível, copie esses backups periodicamente para fora do servidor (seu computador, um serviço de nuvem, etc.) — assim você fica protegida até de imprevistos maiores.
Outra dica importante: de tempos em tempos, dê uma olhada no espaço em disco consumido pelos backups acumulados, para não correr o risco de lotar sua hospedagem. Se tiver dúvida sobre limites do seu plano, é só consultar o painel.

Fechando com carinho

Viu só? Depois que você configura uma vez, o crontab vira aquele amigo silencioso trabalhando por você todos os dias. Se em algum passo você sentir insegurança — principalmente mexendo em comandos no terminal — não tem problema nenhum em chamar o nosso suporte para te acompanhar. A gente está aqui exatamente pra isso. 💛


Esta resposta lhe foi útil?

« Retornar