SSH & Avançado 5 visualizações

Como automatizar backups via linha de comando com um script agendado

Ver no WHMCS

Como Automatizar Backups via Linha de Comando com um Script Agendado

Olá, amigo(a) desenvolvedor(a) ou administrador(a) de site! Seja bem-vindo(a) ao seu novo passo rumo à segurança e tranquilidade digital. Aqui, na GeHost, entendemos que seu tempo é precioso e seu site, uma extensão do seu trabalho. Por isso, vamos te ensinar, com carinho e clareza, como automatizar backups com um script agendado — tudo isso diretamente pelo SSH, com apenas alguns comandos simples.

Este guia é feito especialmente para quem quer ir além do básico, mas ainda assim se sente seguro. Vamos com calma, passo a passo. Você vai dominar isso antes mesmo de perceber!

Pré-requisitos

Antes de começar, confira estes itens:

  • Você tem acesso ao SSH da sua conta (habilitado no painel do cliente).
  • Seu plano de hospedagem permite o uso do SSH (todos os planos GeHost permitem).
  • Conhecimento básico de comandos Linux (não se preocupe — vamos explicar tudo).
  • Um cliente SSH instalado (como PuTTY, Terminal do macOS/Linux, ou VS Code com extensão SSH).
Dica do Sensei: Se você ainda não ativou o SSH, acesse o painel do cliente em painel.gehost.com.br, vá em SSH e ative o acesso. É rápido e seguro.

Passo 1: Acessando o Servidor via SSH

Abra seu cliente SSH e conecte-se usando:

  • Host: Seu domínio ou IP (não vamos exibir aqui — você já sabe).
  • Porta: 22
  • Usuário: O nome da sua conta no cPanel (geralmente é o nome do domínio).
  • Senha: A senha do cPanel.

Após conectar, você verá um prompt como:

usuario@servidor:~$

Passo 2: Criando o Script de Backup

Vamos criar um script simples que faz backup do seu public_html (pasta principal do site) e do banco de dados MySQL.

Abra o editor de texto nano com este comando:

nano backup.sh

Na tela que abrir, cole este conteúdo:

#!/bin/bash

# Configurações
DATA=$(date +%Y-%m-%d_%H-%M)
NOME_SITE="meusite"
PASTA_PUBLIC_HTML="/home/usuario/public_html"
BANCO_NOME="nome_do_banco"
USUARIO_BANCO="usuario_banco"
SENHA_BANCO="senha_do_banco"
DIRETORIO_BACKUP="/home/usuario/backups"

# Cria diretório de backup se não existir
mkdir -p $DIRETORIO_BACKUP

# Faz backup da pasta public_html
tar -czf $DIRETORIO_BACKUP/$NOME_SITE-$DATA.tar.gz $PASTA_PUBLIC_HTML

# Faz backup do banco de dados MySQL
mysqldump -u $USUARIO_BANCO -p$SENHA_BANCO $BANCO_NOME | gzip > $DIRETORIO_BACKUP/$NOME_SITE-$DATA.sql.gz

# Mensagem de sucesso
echo "Backup criado com sucesso em: $DIRETORIO_BACKUP/$NOME_SITE-$DATA.tar.gz e $DIRETORIO_BACKUP/$NOME_SITE-$DATA.sql.gz"
Dica do Sensei: Substitua os valores entre aspas (como meusite, usuario, nome_do_banco, etc.) pelos seus dados reais. Você pode encontrar o nome do banco e do usuário no cPanel em painel.gehost.com.brBancos de Dados MySQL.

Após colar, pressione Ctrl + O para salvar, depois Enter. Depois, Ctrl + X para sair.

Passo 3: Tornando o Script Executável

Para que o sistema possa rodar o script, você precisa torná-lo executável. Use este comando:

chmod +x backup.sh

Passo 4: Testando o Script Manualmente

Antes de agendar, teste o script com um comando simples:

./backup.sh

Se tudo der certo, você verá uma mensagem dizendo que o backup foi criado com sucesso. Se houver erro, verifique os dados (nome do banco, senha, caminho) e tente novamente.

Passo 5: Agendando o Backup com Cron

Agendar tarefas no Linux é feito com o cron. Vamos configurar para rodar diariamente às 2h da manhã.

Abra o editor de cron com:

crontab -e

Se for a primeira vez, escolha o editor (geralmente nano).

Adicione esta linha no final do arquivo:

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

Essa linha significa: “Execute o script todos os dias às 2h da manhã”.

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

Dica do Sensei: Se o caminho do script for diferente, use o caminho completo. Para descobrir, digite pwd no terminal para ver a pasta atual, ou use ls para listar arquivos.

Passo 6: Verificando o Agendamento

Para confirmar que o cron está funcionando, digite:

crontab -l

Isso mostrará todos os agendamentos. Você deverá ver a linha que criamos.

Passo 7: Monitorando os Backups

Os backups são salvos na pasta /home/usuario/backups. Você pode verificar se estão sendo criados com:

ls -la /home/usuario/backups

Se quiser, pode configurar um e-mail automático para avisar quando o backup for feito (mas isso é avançado — vamos deixar para outra hora).

Conclusão: Você está no controle!

Parabéns, mestre do comando! Agora você tem um sistema de backup automático, seguro e confiável — tudo feito por você, com seu próprio script, no seu próprio tempo.

Se precisar de ajuda, lembre-se: o suporte da GeHost está aqui para você. Acesse o painel do cliente e abra um ticket. Nós cuidamos de você, como cuidamos do nosso próprio site.

Até a próxima, com o coração leve e o backup sempre em dia. 🌟

Tela de Backup no cPanel

Observação importante: Este guia foi elaborado com base nos serviços oficiais da GeHost (gehost.com.br), operada por G e Soluções e Eventos LTDA (CNPJ: 46.647.904/0001-04). Para qualquer dúvida fiscal, consulte sua fatura ou entre em contato com o suporte.

Precisa de Ajuda?

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