Utilizando o rclone para copia de arquivos para um object storage na OCI


O Rclone é um software de linha de comando open source para sincronização e gerenciamento de arquivos em cloud, compatível com mais de 40 tipos de armazenamento em cloud, incluindo o S3 compatible storage. 

Seus recursos incluem comandos equivalentes aos comandos linux rsync, cp, mv, mouts, ls, ncdu, tree, rm e cat.

Dentre as inúmeras funcionalidades do Rclone, está a preservação do carimbo de data e hora e validação do cabeçalho dos arquivos, possibilitando a transferências em conexões de internet intermitentes, através da validação do último arquivo transferido com sucesso. 

As principais utilizações do Rclone são:

  • Backup de dados para cloud;
  • Restore de arquivos da cloud;
  • Migração de dados para cloud ou entre clouds;
  • Montagem de cloud storages como um disco local;

Rclone está disponível para vários sistemas operacionais, conforme tabela abaixo.


Neste artigo será configurando o Rclone em uma maquina windows para conectar em um bucket no Oracle Object storage. As configurações e comandos são os mesmos, independente do sistema operacional utilizado. 

Após baixar a versão desejada do Rclone, basta descompacta-lo. 

Agora será necessário criar o arquivo de configuração, que vai conter as credenciais da conexão com o bucket da oci. Para isso, deve-se criar o arquivo rclone.conf. Este arquivo irá conter as informações de conexão com o object storage.
Abaixo, segue um exemplo do arquivo de configuração a ser utilizado.

[myobjectstorage]    -- nome da configuração    
type = s3            -- tipo de conexão
provider = Other     -- tipo de provider
env_auth = false     -- deixar como false
access_key_id = <access_key_id>       --aqui deve ser colocado o access_key_id do usuário com permissão no bucket
secret_access_key = <secret_access_key> --secrete key do usuário 
region=<region>      -- colocar a região utilizada 
endpoint =  https://<your_namespace>.compat.objectstorage.<your_region_identifier>.oraclecloud.com  --ajustar o endpoint de acordo com o ambiente

Concluída a configuração já é possível realizar as operações via rclone. 

Para executar o rclone, o mesmo deve ser executado via prompt de comando. Acessando o diretório onde foi descompactado o rclone e executando o comando rclone, que vai mostrar os comandos que podem ser executados.


No exemplo será realizado um rsync do diretório c:\temp\ com  object storage do OCI. Primeiramente, irei listar os arquivos existentes no bucket, para mostrar que o mesmo está vazio.

rclone ls myobjectstorage:\bucket_rclone\


Agora com o comando rsync, será realizado o processo de sincronização do diretório c:\temp com o bucket. 
Ao atualizar a console, é possível ver que os arquivos já estão sendo enviados. No rclone também é possível ver as estatísticas de envio.
 
rclone sync -P C:\temp\ myobjectstorage:\bucket_rclone\



Não bastassem todas as vantagens apresentadas até aqui, o rclone possuí uma interface gráfica GUI (experimental). Apesar de experimental essa interface gráfica está bastante completa, facilitando em muito o gerenciamento.

Para iniciar a interface gráfica, basta acessar o diretório onde foi descompactado o rclone e executar o comando:

C:\filesystem\rclone>rclone rcd --rc-web-gui --rc-no-auth
2022/12/03 18:39:01 NOTICE: Web GUI exists. Update skipped.
2022/12/03 18:39:01 NOTICE: Serving Web GUI
2022/12/03 18:39:01 NOTICE: Serving remote control on http://localhost:5572/

Ao executar o comando acima, será iniciado o GUI e uma janela com o rclone WebUI será aberta. Durante a utilização da interface o prompt precisa ficar aberto para que o serviço fique disponível. 

Através dessa interface é possível realizar a configuração de novas conexões com a cloud, explorar os arquivos, fazer upload e download, etc.


Durante o processo de upload e download, enquanto o WebUI estiver aberto, é possível verificar várias métricas, como velocidade de transferência, velocidade média de transferência, tempo de execução. erros, entre outras.



Referências: 
https://rclone.org/
https://rclone.org/gui/

Comentários