Backup de Dados do Samba para WebDAV com Rsync e Rclone: Guia Profissional

1. Introdução

Fazer backup de um servidor Samba para um armazenamento WebDAV externo é uma estratégia eficiente para garantir redundância e segurança dos dados. Neste guia, vamos explorar métodos robustos usando ferramentas como rsync e rclone, além de soluções para problemas comuns.


2. Pré-requisitos

  • Servidor Linux com Samba configurado
  • Acesso a um servidor WebDAV (Nextcloud, OwnCloud, Seafile, etc.)
  • Pacotes instalados:
  sudo apt update && sudo apt install davfs2 rsync rclone curl -y  # Debian/Ubuntu  
  sudo yum install davfs2 rsync rclone curl -y                     # CentOS/RHEL  

3. Método 1: Montando WebDAV com davfs2 e Sincronizando via rsync

3.1. Montando o WebDAV como Sistema de Arquivos

sudo mkdir /mnt/webdav  
sudo mount -t davfs -o noexec,nosuid,username=SEU_USUARIO,password=SUA_SENHA https://webdav.servidor.com /mnt/webdav  

Configurações Adicionais no /etc/davfs2/davfs2.conf

use_locks 0       # Evita travamentos  
gui_optimize 1    # Melhora performance  
buf_size 102400   # Buffer maior para transferência  

3.2. Sincronizando Dados do Samba para WebDAV

rsync -avz --partial --progress --stats --delete /caminho/do/samba/ /mnt/webdav/backup/  

Opções Úteis do rsync:

  • --partial → Continua transferências interrompidas
  • --progress → Mostra andamento em tempo real
  • --stats → Exibe relatório final
  • --delete → Remove arquivos no destino que não existem na origem

3.3. Desmontando o WebDAV

sudo umount /mnt/webdav  

4. Método 2: Usando rclone (Recomendado para Conexões Instáveis)

4.1. Configurando o Rclone

rclone config  
  • Selecione “n” para novo remote
  • Escolha o tipo “webdav”
  • Insira URL, usuário e senha

4.2. Sincronização com Verificação

rclone sync /caminho/do/samba/ remote:webdav/pasta/ --progress --transfers=4 --checkers=8 --retries=3  

Opções Avançadas do rclone:

  • --transfers=4 → Paraleliza transferências
  • --checkers=8 → Verifica arquivos mais rápido
  • --retries=3 → Tenta novamente em falhas

5. Solução de Problemas Comuns

5.1. Erro: “Connection timed out”

  • Aumente o timeout no /etc/davfs2/davfs2.conf:
  server_timeout 300  

5.2. Permissões Incorretas

  • Ignore permissões no rsync:
  rsync -avz --no-perms --no-owner --no-group /samba/ /mnt/webdav/  

5.3. Muitos Arquivos Pequenos (Lentidão)

  • Compacte antes com tar:
  tar -czf - /samba/ | rclone rcat remote:webdav/backup.tar.gz  

6. Automatizando com Cron

Adicione ao crontab -e:

0 2 * * * /usr/bin/rsync -avz --partial /samba/ /mnt/webdav/backup/ >> /var/log/backup_samba.log 2>&1  


Ou com rclone:

0 3 * * * /usr/bin/rclone sync /samba/ remote:webdav/ --log-file=/var/log/rclone.log  

7. Conclusão

  • Use davfs2 + rsync para conexões estáveis e arquivos grandes.
  • Prefira rclone para conexões instáveis ou muitos arquivos pequenos.
  • Sempre teste com --dry-run antes de executar em produção.
Rolar para cima