Backup com o Rclone

De Wiki Projeto Root
Ir para navegação Ir para pesquisar

Sobre

Olá! Visitante, reunimos aqui, informações sobre a ferramenta Rclone, que é um programa de linha de comando para sincronizar arquivos e diretórios para diversos serviços de armazenamento em nuvem entre eles podemos destacar os seguintes:

  • Amazon Drive
  • Amazon S3 / Dreamhost / Ceph / Minio / Wasabi
  • Backblaze B2
  • Box
  • Dropbox
  • FTP
  • Google Cloud Storage
  • Google Drive
  • HTTP
  • Hubic
  • Microsoft Azure Blob Storage
  • Microsoft OneDrive
  • Openstack Swift / Rackspace cloud files / Memset Memstore / OVH / Oracle Cloud Storage
  • pCloud
  • QingStor
  • SFTP
  • Webdav / Owncloud / Nextcloud
  • Yandex Disk
  • The local filesystem

Site Oficial: https://rclone.org/


Vídeo

https://youtu.be/x15T--ZDusI

Rclone

Características

  • Os hashes MD5 / SHA1 são verificados o tempo todo para a integridade do arquivo
  • Timestamps preservados em arquivos
  • Sincronismos parciais suportados em todo o arquivo
  • Modo de cópia para simplesmente copiar arquivos novos / alterados
  • Modo de sincronização (ida) para fazer um diretório idêntico
  • Modo de verificação para verificar a igualdade do arquivo hash
  • Pode sincronizar de local e para a rede, por exemplo, duas contas da nuvem diferentes
  • Criptografia opcional (Crypt)
  • Montagem FUSE opcional


Instalação

  • Método 01
 curl https://rclone.org/install.sh | sudo bash


  • Método 02

Instalando Dependências

  apt-get install unzip 

Baixar e Instalar o Rclone

  wget -qO- https://downloads.rclone.org/rclone-current-linux-amd64.zip -O /tmp/rclone.zip; unzip /tmp/rclone.zip -d /usr/src; rm /tmp/rclone.zip
  cd /usr/src/rclone-v*
  cp rclone /usr/bin/
  chown root:root /usr/bin/rclone
  chmod 755 /usr/bin/rclone
  mkdir -p /usr/local/share/man/man1
  cp rclone.1 /usr/local/share/man/man1/
  mandb

Configuração

  rclone config
  
  No remotes found - make a new one
  n) New remote
  s) Set configuration password
  q) Quit config
  n/s/q> 
  
  Tecle n (para iniciar uma nova configuração e digite um nome de sua preferencia para o cloud, no meu caso digitei meudropbox)


  name> meudropbox
  
  Storage> 6     (Aqui você tecla 6 para usar o DropBox)
  
  Dropbox App Key - leave blank normally.
  app_key>
  Dropbox App Secret - leave blank normally.
  app_secret>
  Remote config
  Please visit:
  
  https://www.dropbox.com/1/oauth2/authorize?client_id=XXXXXXXXXXXXXXX&response_type=code
  
  If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  Log in and authorize rclone for access
  Waiting for code...


Autorizando Rclone no DropBox

  • Realizar Tunelamento ssh para porta 53682 para pegar o código do DropBox
  ssh [email protected] -D 53682
  • Configurar Proxy
  Servidor Socks: localhost 53682
  Abrir no navegador 
  localhost:53682
  --------------------
  [remote]
  app_key =
  app_secret =
  token = 
  --------------------
  y) Yes this is OK
  e) Edit this remote
  d) Delete this remote
  y/e/d> y


Verificando Arquivos

  • Listar arquivos da Raiz (altere remote para o nome cadastrado no exemplo: meudropbox)
  rclone lsd remote:
  • Listar arquivos da pasta corrente
  rclone ls remote:
  • Copiar arquivos
  rclone copy /home (Origem) remote:backup (Destino)
  • Sincronizar
  rclone sync source:/home dest:/backup/ 


Scripts

Para facilitar vamos criar os scripts abaixo com permissão 755 do chmod e salvo em /bin/ com o conteúdo abaixo:

  • Para Backup faça:
  nano /bin/Backup.sh
  echo "Sync do computador para a nuvem - Upload"
  echo "*** Sincronizando do computador para a nuvem - subir ***" >> /var/log/rclone-`date +%d-%m-%Y`.log
  rclone sync /mnt/backup/  meudropbox:/backup/ --log-file=/var/log/rclone-`date +%d-%m-%Y`.log
  echo ==================================== >> /var/log/rclone-`date +%d-%m-%Y`.log
  • Para Restaurar faça:
  nano /bin/Restaurar.sh
  echo "Sync da nuvem para o computador - Download"
  echo "*** Sincronizando da nuvem para o computador - baixar ***" >> /var/log/rclone-`date +%d-%m-%Y`.log
  rclone -v sync meudropbox:/backup/ /mnt/backup/ --log-file=/var/log/rclone-`date +%d-%m-%Y`.log
  echo ==================================== >> /var/log/rclone-`date +%d-%m-%Y`.log


  • Para agendar o Backup faça:

Exemplo para agendar Backup todos os dias as 23:00

crontab -e

00 23 * * * * /bin/Backup.sh


Ajuda

Lista de Comandos em: https://rclone.org/commands/

Documentação em: https://rclone.org/docs/


Bug Report

 [Erro de autorização no Onedrive - Matheus Cardoso]
 
 Se você teve algum erro para autorizar sua conta do Onedrive pode ser que seu rclone esteja desatualizado. 
 Por vezes os repositórios das distros demoram um pouco para atualizar seus pacotes, isso é normal.


  • Solução por Matheus Cardoso

Para corrigir o problema é simples;

1) Remova sua versão atual do rclone

   sudo apt purge rclone --auto-remove

2) Baixe a versão mais atual do programa no site oficial do rclone

   https://rclone.org/downloads/

3) Instale o pacote baixado

4) Continue acompanhando o ótimo tutorial do vídeo :)