Rclone: migrando arquivos entre serviços de nuvem

Manter arquivos em serviços de nuvem é conveniente, mas a migração entre provedores nem sempre é simples. Quando precisei levar um backup do Dropbox para o Google Drive, não queria depender de baixar tudo para o notebook e depois enviar novamente. Além de demorar, esse processo exigiria espaço local e uma conexão estável durante toda a operação.
Foi nesse cenário que o Rclone se tornou uma ferramenta muito útil. Com ele, consigo tratar diferentes serviços de armazenamento como destinos acessíveis pelo terminal e fazer cópias diretamente entre eles.
O que é o Rclone
O Rclone é uma ferramenta de linha de comando para gerenciar arquivos em serviços de armazenamento local e em nuvem. Ele é frequentemente descrito como um tipo de rsync para a nuvem, mas sua principal vantagem é a quantidade de provedores que consegue integrar.
Cada conta ou serviço configurado recebe o nome de um remote. Depois disso, comandos como listar, copiar, comparar e sincronizar podem usar esse remote como origem ou destino.
O Rclone não precisa de uma interface gráfica para funcionar. Isso facilita seu uso em servidores, sessões SSH, tarefas agendadas e operações que precisam continuar rodando dentro de um tmux.
Configurando os serviços
O primeiro passo é criar os remotes com o assistente interativo:
rclone configDepois de configurar as contas, posso verificar se elas estão disponíveis:
rclone listremotes
rclone lsd dropbox:
rclone lsd gdrive:Os nomes são definidos durante a configuração. Neste exemplo, dropbox: representa a origem e gdrive: representa o Google Drive. O conteúdo depois dos dois-pontos indica o caminho dentro daquele serviço.
Não é necessário montar os serviços como diretórios locais para fazer uma cópia. O Rclone conversa com as APIs dos provedores e transfere os arquivos conforme o comando solicitado.
Migrando um backup do Dropbox para o Google Drive
No meu caso, a tarefa era copiar um backup que estava no Dropbox para o Google Drive. Uma cópia direta pode ser feita assim:
rclone copy dropbox:backup gdrive:backup --progressO comando copy envia os arquivos que existem na origem e não remove arquivos que já estão no destino. Essa característica é importante para uma primeira migração, porque permite repetir a operação sem transformar automaticamente o destino em um espelho destrutivo da origem.
Em uma operação maior, posso ajustar a quantidade de transferências simultâneas e dos verificadores:
rclone copy dropbox:backup gdrive:backup \
--progress \
--transfers 4 \
--checkers 8Antes de iniciar uma cópia definitiva, gosto de simular o que será feito:
rclone copy dropbox:backup gdrive:backup --dry-runAssim consigo perceber se o caminho está correto e se o Rclone está encontrando os arquivos esperados.
Conferindo o resultado
Uma cópia concluída sem mensagens de erro é um bom sinal, mas não deve ser a única verificação. O Rclone também pode comparar a origem e o destino:
rclone check dropbox:backup gdrive:backupEssa comparação ajuda a identificar arquivos ausentes ou diferenças entre os dois lados. Para conferir o tamanho ocupado no destino, posso usar:
rclone size gdrive:backupEm backups importantes, também mantenho os logs da operação. Eles ajudam a investigar falhas de autenticação, limites de API, nomes de arquivos incompatíveis e interrupções de rede.
copy ou sync?
Essa é uma diferença que merece atenção. copy acrescenta ou atualiza arquivos no destino, mas não apaga o que já existe ali. Já sync tenta fazer o destino ficar igual à origem e pode remover arquivos que não estejam mais presentes na origem.
Um comando de sincronização seria:
rclone sync dropbox:backup gdrive:backup --progressEle pode ser adequado para um espelho controlado, mas não é a primeira opção que escolho para uma migração. Antes de usar sync, é importante executar com --dry-run, revisar a lista de alterações e ter certeza de que o destino não contém arquivos que precisam ser preservados.
Outras possibilidades
O Rclone não serve apenas para trocar arquivos entre Dropbox e Google Drive. A mesma ideia pode ser usada para:
- Fazer cópias de servidores para um armazenamento externo.
- Mover grandes volumes entre diferentes provedores.
- Montar um serviço de nuvem como diretório local quando isso fizer sentido.
- Filtrar arquivos por extensão, tamanho, data ou padrão de nome.
- Criptografar nomes e conteúdo com um remote baseado em
crypt. - Automatizar cópias com scripts e agendadores.
- Retomar transferências sem começar tudo novamente após uma interrupção.
Também é possível limitar a velocidade, excluir diretórios temporários e executar a operação em uma sessão persistente do tmux. Essas opções tornam a ferramenta mais adequada para servidores e rotinas de backup do que uma simples interface de arrastar e soltar.
Cuidados durante a migração
Uma migração de arquivos continua sendo uma operação de backup e deve ser tratada com cuidado. Antes de apagar a origem, verifico se a cópia terminou, comparo os dois lados e mantenho uma segunda forma de recuperação quando os dados são importantes.
Também evito colocar tokens de acesso em scripts ou comandos compartilhados. A configuração dos remotes contém credenciais e deve ter permissões restritas. Em tarefas automatizadas, prefiro usar um usuário e um escopo de acesso compatíveis com a operação, em vez de conceder mais permissões do que o necessário.
Outro ponto é que serviços diferentes possuem regras diferentes para nomes, tamanhos e tipos de arquivo. Uma cópia pode exigir mais de uma tentativa quando há muitos arquivos, limites de API ou problemas temporários de autenticação.
Minha conclusão
O Rclone resolveu para mim um problema prático: migrar um backup do Dropbox para o Google Drive sem precisar fazer uma cópia intermediária no notebook. A ferramenta transforma serviços diferentes em remotes que podem ser usados de maneira consistente no terminal.
O mais importante é que ela não fica limitada a uma migração específica. Depois de configurar os serviços, posso repetir cópias, conferir resultados, automatizar rotinas e escolher com mais liberdade onde os arquivos devem ficar. Para quem administra backups ou usa mais de um provedor de nuvem, vale a pena conhecer o Rclone.