Linux Kamarada

Como transferir vários arquivos entre dois celulares Android sem deixar nenhum pra trás com rsync

Se você já precisou passar vários arquivos de um celular para o outro (como, por exemplo, quando trocou de celular), pode ter se deparado com algumas dificuldades. Como, por exemplo, o aplicativo que lista os arquivos trava antes de conseguir listar todos os arquivos. Ou o celular por algum motivo é desconectado do computador no meio da cópia. Ou depois da cópia você compara as pastas e a quantidade de arquivos não confere.

Nesses casos, em que você deseja que a cópia seja feita com segurança e nenhum arquivo seja deixado para trás, pode ser de grande ajuda um utilitário de linha de comando nativo do Linux, mas que pode ser instalado com facilidade no Android, que é o rsync.

Provavelmente o nome rsync é uma sigla para remote sync (sincronização remota). Inicialmente pensado para sincronizar arquivos entre servidores, o rsync também pode ser usado para sincronizar arquivos entre computadores pessoais, para sincronizar arquivos entre pastas em um mesmo computador ou, como veremos, para sincronizar arquivos entre celulares.

A diferença entre uma cópia de arquivos comum e uma sincronização com rsync é que o rsync compara os arquivos nas pastas antes de fazer a cópia e copia apenas o que é realmente necessário. Se é a primeira vez que você sincroniza os conteúdos de uma pasta para a outra, e a sincronização corre bem até o final, é igual a uma cópia comum. Mas, se por qualquer motivo a sincronização é interrompida, e você tenta de novo, o rsync volta de onde parou. Inclusive, se um arquivo foi copiado pela metade, ele copia apenas a metade faltante. Se depois da sincronização você cria ou altera arquivos na pasta original, e roda o rsync de novo, ele vai copiar apenas os arquivos novos ou modificados.

No tutorial de hoje, você verá como copiar vários arquivos de um celular Android para outro pela Wi-Fi usando rsync. No celular onde estão os arquivos, vamos instalar um emulador de terminal (aqui, usaremos o Termux). O rsync usa SSH para transferência segura de arquivos. No celular que receberá os arquivos, vamos instalar um servidor SSH (aqui, usaremos o SSHelper).

Antes de começar, certifique-se de que ambos os celulares estão conectados à mesma rede Wi-Fi.

Instalando o emulador de terminal

No celular onde estão os arquivos, instale o emulador de terminal Termux:

Observação: se esse celular é muito antigo (sistema anterior ao Android 11), pode ser que a Play Store informe que o Termux não é compatível. Nesse caso, você pode instalar outra versão compatível do Termux a partir da loja F-Droid ou baixar o APK do GitHub (nesse caso, para conseguir instalar o APK, você vai precisar antes permitir a instalação de apps de fontes desconhecidas).

Abra o Termux e execute o comando pkg install rsync para instalar o rsync:

Diante da pergunta se deseja continuar, digite y (de yes, sim) e tecle Enter:

Se você já se acostumou a usar terminal no seu computador com Linux, o Termux é a mesma coisa, só que no seu celular Android.

Dica: digitar esses comandos usando o teclado touch do Android pode ser complicado. Se você quiser usar o teclado do computador para digitar esses comandos no celular, o GSConnect pode te ajudar com isso.

Terminada a instalação do rsync, execute o comando:

1
$ termux-setup-storage

Isso fará com que seja aberta uma tela do Android, na qual você deve conceder ao Termux permissão para acessar todos os arquivos da memória interna:

Instalando o servidor SSH

No celular que receberá os arquivos, instale o SSHelper, servidor SSH:

Note que o SSHelper não está na Play Store. Você deverá abrir o site dele no computador e escanear o código QR com o celular, ou abrir o site dele no celular e tocar no link para download, abaixo do código QR:

Você vai baixar o APK do SSHelper. Para conseguir instalá-lo, talvez você precise antes permitir a instalação de apps de fontes desconhecidas.

Quando terminar a instalação, abra o aplicativo.

Ao usar o SSHelper pela primeira vez, você precisa conceder permissão para que ele possa acessar o armazenamento:

De volta ao aplicativo SSHelper, mude para a aba Configuration (configuração):

Tome nota do endereço IP e porta do servidor SSH (no meu exemplo, 192.168.15.42 e 2222). Toque no campo Server Password e defina uma senha para o servidor. Reinicie o aplicativo para aplicar as mudanças:

Transferindo arquivos com o rsync

No celular onde estão os arquivos, localize a pasta onde eles estão com o Termux. Para fazer isso, você pode usar comandos como pwd (exibe o caminho para a pasta atual), ls (lista o conteúdo da pasta) e cd (muda a pasta atual):

Da mesma forma, no celular que receberá os arquivos, mude para a aba Terminal do SSHelper e localize a pasta de destino. Você pode usar os mesmos comandos:

Finalmente, do celular de origem, execute o comando rsync:

1
$ rsync -e "ssh -p [porta]" -azzv --no-perms --no-times --size-only [caminho_origem] [usuario]@[endereco_ip]:[caminho_destino]

Onde:

  • [porta] é o número da porta do servidor SSH no celular de destino;
  • [caminho_origem] é o caminho para os arquivos ou pastas que você deseja copiar do celular de origem;
  • [usuario] é o nome de usuário para se conectar via SSH com o celular de destino. Aqui, você poderá digitar qualquer coisa, uma vez que o SSHelper não valida esse informação;
  • [endereco_ip] é o endereço IP do celular de destino; e
  • [caminho_destino] é o caminho no celular de destino onde você deseja salvar os arquivos.

Por exemplo:

1
$ rsync -e "ssh -p 2222" -azzv --no-perms --no-times --size-only Camera/* kamarada@192.168.15.42:/data/data/com.arachnoid.sshelper/home/SDCard/DCIM/Camera/

A sincronização com rsync tem início:

Quando a sincronização terminar, confira que os arquivos estão no celular de destino:

Pronto, é isso! Faça bom proveito!

Conclusão

Se chegou até aqui, espero que esse tutorial tenha sido útil para você, e que você tenha conseguido transferir arquivos de um celular Android para outro com o rsync, sem deixar nenhum arquivo para trás.

Se ficou com alguma dúvida, você pode escrever nos comentários.

Se você considera outros aplicativos melhores que os indicados aqui e/ou sabe outra forma de fazer essa cópia com segurança, sem perder nenhum arquivo, por favor, comente também.

Abraço e até a próxima.

Me paga um café?
Se você gostou muito, se foi muito útil pra você, será que vale um café? Se quiser, você pode "me pagar um café" pelo PayPal ou contribuir com o projeto de outras formas.

Comentários

Sobre

O Projeto Linux Kamarada visa divulgar e promover o Linux como um sistema operacional robusto, seguro, versátil e fácil de usar, adequado para o uso diário seja em casa, no trabalho ou no servidor. Os focos do projeto são principalmente distribuição e documentação.

Anúncios

Facebook

Autor