SSH & Avançado 45 visualizações

Como automatizar backups do site com um script bash agendado via cron

Ver no WHMCS

Como automatizar backups do site com um script bash agendado via cron

Olá, querido cliente! Seja bem-vindo ao seu novo passo rumo à segurança e tranquilidade digital. Aqui na GeHost, acreditamos que seu site merece cuidados especiais — e um backup automatizado é como ter um guarda-costas 24 horas por dia. Vamos juntos, com calma, passo a passo, transformar esse processo em algo simples, seguro e totalmente automatizado?

Este guia é feito especialmente para você que quer proteger seu site com um script em Bash, agendado pelo cron — tudo via SSH, no seu painel cPanel. Não se preocupe se você ainda não sabe o que é SSH ou cron: eu vou te ensinar com carinho, como um verdadeiro Sensei.

Antes de começar: o que você precisa

  • Seu acesso SSH (ativado na sua conta — consulte seu plano no painel).
  • Conhecimento básico de comandos no terminal (não precisa ser expert).
  • Um editor de texto no terminal (como nano ou vim).
  • Um domínio hospedado com a GeHost (com acesso ao cPanel).

Dica importante: sempre faça um backup manual antes de automatizar — assim, você tem certeza de que tudo está funcionando. Você pode fazer isso diretamente no cPanel, na seção Backup.

Tela de Backup no cPanel com opções de backup completo, parcial e agendamento

Passo 1: Acesse seu servidor via SSH

Para isso, você pode usar um cliente como Putty (Windows), Terminal (macOS/Linux) ou qualquer outro que suporte SSH.

Abra o terminal e digite:

ssh seu_usuario@seu_dominio.com.br

Substitua seu_usuario e seu_dominio.com.br pelos dados reais da sua conta (você encontra isso no painel do cliente).

Passo 2: Crie o script de backup

Vamos criar um arquivo chamado backup.sh que conterá as instruções para fazer o backup.

No terminal, digite:

nano backup.sh

Isso abrirá o editor nano. Agora, cole o seguinte conteúdo:

#!/bin/bash

# Caminho do seu site (public_html)
SITE_PATH="/home/seu_usuario/public_html"

# Nome do backup (data + hora)
BACKUP_NAME="backup_$(date +'%Y-%m-%d_%H-%M-%S').tar.gz"

# Caminho onde salvar o backup
BACKUP_DIR="/home/seu_usuario/backups"

# Cria o diretório de backups se não existir
mkdir -p "$BACKUP_DIR"

# Faz o backup dos arquivos
tar -czf "$BACKUP_DIR/$BACKUP_NAME" "$SITE_PATH"

# Mensagem de sucesso
echo "Backup criado com sucesso: $BACKUP_DIR/$BACKUP_NAME"

Importante: troque seu_usuario pelo nome real da sua conta no cPanel. Se não souber, verifique no painel do cliente.

Depois de colar, pressione Ctrl + O para salvar, depois Enter para confirmar. Por fim, Ctrl + X para sair.

Passo 3: Torne o script executável

No terminal, execute:

chmod +x backup.sh

Isso permite que o sistema execute o script.

Passo 4: Agende o script com cron

Para agendar o backup, vamos usar o cron. Abra o editor de tarefas agendadas com:

cron -e

Seu editor padrão (como nano) será aberto. Adicione esta linha no final do arquivo:

0 2 * * * /home/seu_usuario/backup.sh

Essa linha significa: "execute o script backup.sh todos os dias às 2 da manhã".

Salve com Ctrl + O, Enter, e saia com Ctrl + X.

Dica: se quiser fazer o backup apenas uma vez por semana, troque para:

0 2 * * 0 /home/seu_usuario/backup.sh

— onde 0 é domingo.

Passo 5: Verifique se o cron está funcionando

Para testar, você pode executar o script manualmente:

./backup.sh

Se não houver erros, o backup será criado na pasta /home/seu_usuario/backups.

Depois, verifique se o arquivo apareceu lá:

ls /home/seu_usuario/backups

Se sim, parabéns! Seu sistema de backup está funcionando.

Passo 6: Mantenha o backup seguro

Os backups são salvos no seu servidor. Se quiser mais segurança, considere:

  • Enviar o backup para um serviço de nuvem (como Google Drive ou Dropbox) via script.
  • Limpar backups antigos periodicamente para não sobrecarregar o espaço.

Se precisar, posso te ajudar a escrever um script que faz isso automaticamente!

Conclusão: você está no controle

Automatizar backups não é só técnica — é cuidado. Com esse script, seu site está protegido mesmo quando você não está olhando. E tudo isso com um toque humano, feito com amor, como deve ser.

Se tiver dúvidas, problemas ou quiser ajustar o script, é só entrar em contato com o suporte da GeHost — e lembre-se: você tem 30 dias grátis após a entrega para qualquer dúvida.

Com carinho,
Sensei da GeHost
*Grupo G e Soluções e Eventos LTDA – CNPJ: 46.647.904/0001-04*

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.