SSH & Avançado 0 visualizações

Como criar um script bash simples para automatizar backup diário via cron

Ver no WHMCS

Como criar um script bash simples para automatizar backup diário via cron

Olá, querido(a) cliente! Seja bem-vindo(a) ao seu guia de automação com carinho e paciência — você está no caminho certo para proteger seus dados com tranquilidade. Aqui, vou te ensinar, passo a passo, como criar um script bash simples para fazer backups diários dos seus arquivos, usando o crontab — tudo isso via SSH, dentro do seu plano de hospedagem GeHost. Não se preocupe: não é difícil, e eu vou te acompanhar como um bom Sensei!

Antes de começar: o que você precisa

Antes de mergulhar no código, é bom saber que:

  • Você precisa ter acesso via SSH ao seu servidor (ativado no painel do cliente).
  • Seu plano de hospedagem permite o uso de scripts e cron.
  • Seus arquivos importantes estão na pasta public_html ou em uma pasta específica que você queira proteger.

Dica do Sensei: Se você não tem certeza se o SSH está ativado, acesse o painel do cliente e verifique no menu "SSH" ou "Acesso SSH".

Passo 1: Acessar o servidor via SSH

Use um cliente SSH como Putty (Windows) ou o terminal do Linux/macOS. Conecte-se com seu usuário e senha da hospedagem.

Exemplo de conexão:

ssh usuario@seu-dominio.com.br

Passo 2: Criar o script bash

Com o terminal aberto, vamos criar um arquivo de script. Use o comando nano para criar e editar:

nano backup-diario.sh

Depois de abrir o editor, cole o código abaixo. Ele faz um backup da pasta public_html e salva em um diretório chamado backups com nome data-hora:

#!/bin/bash
# Script simples de backup diário
# Sensei da GeHost 🌿

# Define a pasta a ser backup
PASTA_ORIGEM="/home/usuario/public_html"
# Define o diretório de destino
PASTA_BACKUP="/home/usuario/backups"
# Gera nome com data e hora
DATA=$(date +"%Y-%m-%d_%H-%M-%S")
ARQUIVO_BACKUP="$PASTA_BACKUP/backup_$DATA.tar.gz"

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

# Faz o backup usando tar
tar -czf "$ARQUIVO_BACKUP" "$PASTA_ORIGEM"

# Mensagem de sucesso
echo "Backup criado com sucesso: $ARQUIVO_BACKUP"

Dica do Sensei: Substitua usuario pelo seu nome de usuário real do cPanel. Você pode encontrar esse nome no painel do cliente ou no arquivo ~/.ssh/authorized_keys.

Passo 3: Salvar e tornar o script executável

No nano, pressione:

  • Ctrl + O → para salvar.
  • Enter → para confirmar o nome.
  • Ctrl + X → para sair do editor.

Agora, torne o script executável com o comando:

chmod +x backup-diario.sh

Passo 4: Testar o script manualmente

Execute o script para ver se funciona:

./backup-diario.sh

Se aparecer a mensagem:

Backup criado com sucesso: /home/usuario/backups/backup_2025-04-05_10-30-15.tar.gz

Parabéns! Está tudo certo. Se não funcionar, verifique os caminhos e permissões.

Passo 5: Agendar o backup com cron

Abra o cron do usuário com:

crontab -e

Isso abrirá o editor de tarefas agendadas. Adicione esta linha para rodar o backup todos os dias às 2:00 da manhã:

0 2 * * * /home/usuario/backup-diario.sh

Pressione Ctrl + O → Enter → Ctrl + X para salvar e sair.

Dica do Sensei: O cron usa 5 campos: minuto, hora, dia do mês, mês, dia da semana. A linha acima significa: todo dia, às 2 da manhã.

Passo 6: Verificar o cron

Para ver todas as tarefas agendadas:

crontab -l

Se vir a linha que você adicionou, tudo está certo. O sistema vai rodar o backup automaticamente.

Boas práticas e dicas finais

  • Evite backups muito grandes: eles podem sobrecarregar o servidor.
  • Limpe backups antigos periodicamente. Exemplo: apagar backups de mais de 7 dias.
  • Use o Gerenciador de Arquivos do cPanel para ver se os arquivos estão sendo criados.
  • Se precisar de ajuda, entre em contato com o suporte da GeHost — estamos aqui para te ajudar!
Tela do Gerenciador de Arquivos do cPanel, mostrando a estrutura de pastas como public_html e backups

Com esse guia, você está mais seguro, mais organizado e um passo à frente na gestão do seu site. Lembre-se: a tecnologia é uma aliada — e você, meu querido(a) cliente, é o verdadeiro mestre.

Com carinho,
Sensei da GeHost
Protegendo seus dados com amor e precisão

Precisa de Ajuda?

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