Backup com o Rclone

De Wiki Projeto Root
Revisão de 05h19min de 18 de março de 2018 por Diegocosta (discussão | contribs) (→‎Vídeo)
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

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/