Servidor & DevOps 0 visualizações

Como automatizar backup remoto via SSH com cron e rsync para outro servidor

Ver no WHMCS

Como Automatizar Backup Remoto via SSH com Cron e Rsync para Outro Servidor

Olá, querido(a) cliente da GeHost! 🌟

Você já se perguntou como proteger seus dados com segurança, sem precisar fazer tudo à mão todos os dias? Hoje, vou te ensinar, com carinho e clareza, como automatizar backups remotos do seu site ou servidor para outro local — usando apenas SSH, Rsync e Cron. É como ter um guarda-costas digital, que trabalha em silêncio, todos os dias, garantindo que seus arquivos estejam sempre seguros.

>
💡 Dica Sensei: Esse método é ideal para quem tem um site em produção, dados importantes ou quer ter mais controle sobre sua segurança. A GeHost já protege seu site com backups internos, mas esse é um passo extra — para você ter total autonomia.
---

Pré-requisitos

Antes de começar, confira se você tem:

  • Um servidor remoto (pode ser outro servidor da GeHost, ou outro provedor — desde que tenha acesso SSH).
  • Acesso via SSH ao seu servidor da GeHost (geralmente via terminal ou cliente como PuTTY, Terminal do Mac ou Linux).
  • Permissão para usar crontab (programação de tarefas).
  • Chave SSH configurada (para autenticação sem senha — mais seguro).
>
⚠️ Atenção: Nunca compartilhe sua senha SSH. Use chaves criadas com segurança. Se não souber como gerar, peço que consulte o suporte da GeHost — estamos aqui para te ajudar!
---

Passo a Passo: Configurando o Backup Automático

1. Gere uma chave SSH (se ainda não tiver)

Abra o terminal no seu computador e digite:

ssh-keygen -t rsa -b 4096 -C "backup@seuemail.com"

Pressione Enter para aceitar o local padrão (geralmente ~/.ssh/id_rsa).

Depois, quando pedir senha, pode deixar em branco (ou colocar uma senha forte — escolha o que te deixa mais seguro).

2. Copie a chave pública para o servidor de destino

Use o comando:

ssh-copy-id usuario@servidor-destino

Substitua usuario pelo nome de usuário no servidor de destino (ex: backupuser) e servidor-destino pelo IP ou nome do servidor (ex: backup.example.com).

Se o servidor aceitar, você será solicitado a digitar a senha do usuário remoto uma vez. Depois disso, o acesso será feito com a chave — sem senha!

3. Teste a conexão SSH

Abra o terminal e digite:

ssh usuario@servidor-destino

Se aparecer o prompt do servidor, parabéns! A chave está funcionando.

4. Crie um script de backup local

No seu servidor da GeHost, acesse o terminal via SSH ou o Terminal no cPanel (em Advanced > Terminal).

Crie um arquivo chamado backup.sh:

nano /home/seuusuario/backup.sh

Insira o seguinte conteúdo (ajuste os caminhos e destinos conforme seu caso):

#!/bin/bash
# Backup automático via Rsync
# Data: $(date)
# Destino: usuario@servidor-destino:/caminho/para/backup/

# Diretório a ser backupado (ex: public_html)
SOURCE="/home/seuusuario/public_html"

# Destino remoto (substitua pelos dados reais)
DEST="usuario@servidor-destino:/caminho/para/backup/"

# Executa o backup com rsync
rsync -avz --delete --exclude='.git' --exclude='cache/' $SOURCE $DEST

echo "Backup concluído em $(date)"

Pressione Ctrl + X, depois Y e Enter para salvar.

5. Tornar o script executável

No terminal, digite:

chmod +x /home/seuusuario/backup.sh

6. Configure o Cron para rodar automaticamente

Abra o editor de tarefas automáticas:

crontab -e

Adicione esta linha para rodar o backup diariamente às 2:00 da manhã:

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

Pressione Ctrl + X, depois Y e Enter para salvar.

>
🔧 Dica Sensei: Use crontab.guru para montar horários com mais precisão. Quer backup semanal? Use 0 2 * * 0 (domingo às 2h).
---

Verifique se está funcionando

Para testar, execute o script manualmente:

/home/seuusuario/backup.sh

Se não houver erros, o backup será feito. Depois, verifique o servidor de destino para confirmar que os arquivos chegaram.

---

Importante: Segurança e Boas Práticas

  • Nunca armazene chaves SSH em locais públicos.
  • Evite backups em diretórios acessíveis via web (como public_html).
  • Use exclusões como --exclude='.git' para não copiar arquivos temporários.
  • Monitore o log do backup (adicione > /home/seuusuario/backup.log 2>&1 ao final do comando).
---

Quer ajuda? Estamos aqui!

Se ficar com dúvidas, ou quiser que um de nossos técnicos te guie passo a passo, é só acessar o painel do cliente em painel.gehost.com.br e abrir um ticket de suporte. Estamos aqui com um coração de geHost — com amor, respeito e dedicação.

Seu site merece proteção. E você, merece paz. 🙏

Tela inicial do cPanel com os grupos de ferramentas

GeHost — hospedagem com alma, desde 2015, por Raphael Neves Koga e o 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.