Loading
Up To date For Daily News Timeline
Up To date For Daily News Timeline

Automatizando backups com Rclone e Google Drive no Linux



Backup é aquele tema que todo mundo sabe que é importante, mas muitas empresas ainda fazem de forma manual ou inconsistente. O Rclone é uma ferramenta open source que resolve isso de forma elegante — sincroniza arquivos com dezenas de provedores de cloud diretamente do terminal Linux, com suporte a criptografia, agendamento e verificação de integridade.

Por que Rclone?

  • Gratuito e open source
  • Suporte a mais de 70 provedores de storage
  • Criptografia nativa (end-to-end com Rclone Crypt)
  • Verificação de integridade por hash
  • Funciona com Google Workspace (Drive ilimitado em planos Business)

1. Instalação

curl https://rclone.org/install.sh | sudo bash
rclone version

2. Configurar o Google Drive

rclone config

Siga o wizard: escolha Google Drive como storage, deixe client_id e secret em branco (usa credenciais padrão), selecione acesso completo (scope 1) e autentique via navegador. Teste após configurar:

# Listar arquivos no Drive
rclone ls gdrive-backup:

# Criar pasta de backup
rclone mkdir gdrive-backup:backups-servidor

3. Configurar criptografia (recomendado para dados sensíveis)

rclone config
# Adicione um novo remote do tipo "crypt"
name> gdrive-encrypted
Storage> crypt
remote> gdrive-backup:backups-servidor/encrypted
filename_encryption> standard
password> # Defina uma senha forte e guarde-a em local seguro!

4. Script de backup

#!/bin/bash
REMOTE="gdrive-backup:backups-servidor"
LOG_FILE="/var/log/rclone-backup.log"
DATA=$(date +%Y-%m-%d)
HOSTNAME=$(hostname)

DIRS_BACKUP=("/etc" "/var/www" "/home" "/opt/apps")

log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"; }

log "=== Iniciando backup diário — $HOSTNAME ($DATA) ==="

for DIR in "${DIRS_BACKUP[@]}"; do
    if [ -d "$DIR" ]; then
        rclone sync "$DIR" "$REMOTE/$HOSTNAME$DIR" \
            --log-file="$LOG_FILE" --transfers=4 --retries=3
        [ $? -eq 0 ] && log "✓ $DIR — OK" || log "✗ $DIR — ERRO"
    fi
done

# Remover backups com mais de 30 dias
rclone delete "$REMOTE/$HOSTNAME" --min-age=30d

log "=== Backup concluído ==="

5. Agendar com cron

# Backup diário às 2h da manhã
0 2 * * * /opt/backup/backup-diario.sh >> /var/log/rclone-backup.log 2>&1

# Verificação de integridade semanal (domingo às 3h)
0 3 * * 0 rclone check /var/www gdrive-backup:backups-servidor/$(hostname)/var/www

Checklist de backup saudável

  • ☐ Script funcionando e testado manualmente
  • ☐ Cron configurado e ativo
  • ☐ Logs sendo gerados corretamente
  • ☐ Teste de restore realizado (pelo menos uma vez por mês)
  • ☐ Notificação de falha configurada
  • ☐ Criptografia ativa para dados sensíveis

⚠️ Backup não testado é arquivo, não backup. Agende um restore de teste mensal para garantir que os dados podem ser recuperados.

Referências

  1. Rclone. Rclone Documentation. Disponível em: rclone.org/docs
  2. Rclone. Google Drive Configuration. Disponível em: rclone.org/drive
  3. Rclone. Rclone Crypt. Disponível em: rclone.org/crypt

Leave a Reply

Your email address will not be published. Required fields are marked *

You Missed