Como usar rclone para fazer backup no Google Drive no Linux

O logotipo do Google Drive em um fundo com a cor da janela do terminal.
Google

Ainda não há um cliente Linux oficial para o Google Drive, mas você pode fazer backup no Google Drive usando o rcloneutilitário na linha de comando. Nós mostramos como.

Onde está o Google Drive no Linux?

Apesar da promessa de suporte ao Linux “em breve” em 2012 , não há indicação de que o Google irá produzir um cliente Linux nativo para o Google Drive. Existem várias soluções de terceiros não oficiais, como InSync , overGrive e ODrive , e alguns navegadores de arquivos permitem a integração com seu Google Drive, como Arquivos no GNOME .

Os aplicativos de terceiros são produtos comerciais, exigindo uma compra definitiva ou uma assinatura. Eles funcionam bem, não custam muito e, de fato, overGrive tem uma versão gratuita, oferecendo funcionalidade limitada sem nenhum custo.

Mas e se você quiser criar e executar backups a partir da linha de comando? Ou incorporar essa funcionalidade em scripts? Tudo isso é possível graças a um aplicativo incrível chamado rclone. Na verdade, com rclonevocê pode fazer backup, baixar e sincronizar arquivos para mais de quarenta soluções de nuvem diferentes . É como rsync para nuvens.

Instalando rclone

rclone quase certamente não será instalado em seu computador Linux por padrão. Felizmente, existe um script de instalação que deve funcionar em todas as distribuições. O processo de instalação usa curl . Nos computadores usados ​​para pesquisar este artigo, o Fedora 31 e o Manjaro 18.1.0 já estavam curl instalados, mas   curlprecisavam ser instalados no Ubuntu 18.04 LTS.

No Ubuntu, execute este comando para instalá-lo:

sudo apt-get install curl

sudo apt-get install curl em uma janela de terminal

Depois de curlinstalado, instale rclonecom este comando:

curl https://rclone.org/install.sh | sudo bash

curl https://rclone.org/install.sh |  sudo bash em uma janela de terminal

Quando a rcloneinstalação for concluída, você verá uma mensagem de sucesso.

Mensagem de sucesso do script de instalação rclone em uma janela de terminal

Isso instalou o rcloneprograma em seu computador Linux. A próxima etapa é executar o processo de configuração e autenticar rclonepara acessar o Google Drive.

Criando uma conexão remota rclone

Conexões com serviços remotos em nuvem são chamadas de “remotas” no rclonemundo. Precisamos criar um para o Google Drive. Inicie o rcloneprocesso de configuração com este comando:

configuração rclone

configuração do rclone em uma janela de terminal

Existem muitas questões no processo de configuração. Mas não desanime, muitos deles podem ser deixados em seus valores padrão e simplesmente aceitos pressionando “Enter”.

Recomendado:  Como você redefine o mapeamento de um teclado depois que uma pegadinha do primeiro de abril o destrói?

rcloneinforma que não há controles remotos configurados. Pressione “n” e pressione “Enter” para criar um novo controle remoto. Ele solicitará um nome. Vamos chamá-lo de “google-drive”. Use o nome que quiser.

menu rclone para criar um novo controle remoto, em uma janela de terminal

Um longo menu permite que você escolha o tipo de armazenamento para o qual está criando uma conexão remota.

rclone menu de tipo de conexão remota em uma janela de terminal

Percorra a lista até ver a entrada do Google Drive e anote seu número.

configuração do rclone em uma janela de terminal

Podemos ver que, neste caso, é o número 13. Digite-o como o tipo de armazenamento e pressione “Enter”.

Definir o tipo de armazenamento rclone em uma janela de terminal

Será solicitado um ID de cliente de aplicativo do Google. Pressione “Enter” para aceitar o padrão.

Solicitar um ID de cliente de aplicativo do Google em uma janela de terminal

Em seguida, será solicitado um segredo do cliente do aplicativo Google.

solicitar um segredo de cliente de aplicativo do Google em uma janela de terminal

Novamente, basta pressionar “Enter”. Você deve fornecer o escopo que rcloneterá quando estiver operando em seu Google Drive. Pressione “1” e depois pressione “Enter”.

fornecendo o escopo para rclone em uma janela de terminal

Para o “ID da pasta raiz”, basta pressionar “Enter”.

solicitar o ID da pasta raiz em uma janela de terminal

No prompt “Credenciais da conta de serviço”, pressione “Enter”.

Solicitar credenciais de conta de serviço em uma janela de terminal

No prompt “Editar configuração avançada”, basta pressionar “Enter”. No menu “Usar configuração automática”, pressione “y” e depois pressione “Enter”.

O menu "usar configuração automática" em uma janela de terminal

Isso faz rclonecom que você se comunique com o Google Drive e inicie seu navegador para permitir que você dê permissão para rcloneinteragir com o Google Drive.

rclone prestes a lançar um navegador, em uma janela de terminal

Na janela do seu navegador, clique na conta do Google que deseja usar.

Escolha da conta do Google para usar em uma janela do navegador

Clique no botão “Permitir” para permitir o rcloneacesso ao seu Google Drive.

Permitir que rclone funcione com o Google Drive em uma janela de terminal

Quando a autenticação for concluída, você verá a mensagem “Sucesso!” mensagem na janela do navegador. Você pode fechar o navegador e retornar à janela do terminal.

Mensagem de sucesso em uma janela do navegador

No prompt “Configurar isto como um drive de equipe”, digite “n” e pressione “Enter”.

O rclone "configure isto como um drive de equipe" prompt em uma janela de terminal

No menu “Sim, Editar, Excluir”, digite “y” e pressione “Enter”.

O menu rclone "sim, editar, excluir" em uma janela de terminal

No menu final, digite “q” e pressione “Enter”.

O menu final do rclone em uma janela de terminal

O script de backup rclone

O rcloneaplicativo é muito rico em recursos. Isso é ótimo, mas significa que há muitas opções . O comando que veremos a seguir copia os arquivos de seu computador local para o Google Drive. Esta é uma cópia unilateral para a nuvem; não é uma sincronização bidirecional entre o Google Drive e o computador local – embora rclonepossa fazer isso. Estamos usando isso como uma forma básica de backup externo.

Recomendado:  Como fechar todas as janelas do Finder de uma vez no Mac

Digite (ou copie e cole) em um editor de texto e salve em seu computador. Nós chamamos isso gbk.sh. Você pode chamá-lo do que fizer sentido para você.

#! / bin / bash

/ usr / bin / rclone cópia --update --verbose --transfers 30 --checkers 8 --contimeout 60s --timeout 300s --retries 3 --low-level-retries 10 --stats 1s "/ home / dave / Documentos "" google-drive: LinuxDocs "

Aqui está o que os parâmetros significam:

  • copiar : copia os arquivos do computador local para o armazenamento remoto, pulando os arquivos que já estão presentes no armazenamento remoto.
  • –Update : ignora todos os arquivos que estão no armazenamento remoto com um tempo de modificação mais recente do que o arquivo no computador local.
  • –Verbose : Fornece informações sobre todos os arquivos transferidos.
  • –Transfers 30 : Define o número de arquivos a serem copiados em paralelo.
  • –Checkers 8 : Quantos “verificadores” executar em paralelo. Os verificadores monitoram as transferências em andamento.,
  • –Contimeout 60s : O tempo limite da conexão. Ele define a hora que rclonetentará fazer uma conexão com o armazenamento remoto.
  • –Timeout 300s : Se uma transferência ficar ociosa por esse período de tempo, ela será considerada interrompida e será desconectada.
  • –Retries 3 : se houver tantos erros, toda a ação de cópia será reiniciada.
  • –Low-level-retries 10 : Uma nova tentativa de baixo nível tenta repetir uma operação com falha, como uma única solicitação HTTP. Este valor define o limite para o número de tentativas.
  • –Stats 1s : rclonepode fornecer estatísticas sobre os arquivos transferidos. Isso define a frequência de atualização das estatísticas para um segundo.
  • “/ Home / dave / Documents” : o diretório local que vamos copiar para o armazenamento remoto.
  • “Google-drive: LinuxDocs” : o diretório de destino no armazenamento remoto. Observe o uso de “google-drive”, que é o nome que demos a esta conexão remota durante a rclone configsequência. Observe também os dois pontos “:” que são usados ​​como separador entre o nome do armazenamento remoto e o nome do diretório. Os subdiretórios são separados pela barra normal “/”. Se o diretório de destino não existir, ele será criado.

Alguns desses valores são os padrões, mas nós os incluímos aqui para que possamos discuti-los. Dessa forma, se você precisar alterar um valor, saberá qual parâmetro ajustar.

Recomendado:  Como alterar a horrível cor de fundo roxo da janela 8

Torne o script executável com este comando:

chmod + x gbk.sh

Executando o Script de Backup

Nosso script de backup irá copiar nossa pasta Documentos para nosso Google Drive. Em nossa pasta Documentos, temos uma coleção de partituras.

Coleção de partituras em ~ / Documentos em um navegador de arquivos

Podemos iniciar o script de backup com este comando:

./gbk.sh

./gbk.sh em uma janela de terminal

Solicitamos atualizações de estatísticas a cada segundo ( --stats 1s) e também solicitamos uma saída detalhada ( --verbose). Não será nenhuma surpresa, então, termos uma grande quantidade de saída na tela. Normalmente, é uma boa opção ativar a saída detalhada para uma nova funcionalidade, de modo que você possa detectar problemas. Você pode diminuir a quantidade de produção quando estiver feliz que as coisas estejam funcionando perfeitamente.

saída rclone em uma janela de terminal

Recebemos um resumo final informando que 60 arquivos foram transferidos sem erros. A transferência demorou cerca de 24 segundos.

Vamos verificar em nosso Google Drive e ver o que aconteceu em nosso armazenamento em nuvem.

Pasta LinuxDocs no Google Drive

Um diretório “LinuxDocs” foi criado, então parece promissor. Se clicarmos duas vezes nele para dar uma olhada, podemos ver que todos os arquivos foram transferidos para o nosso Google Drive.

Arquivos em "LinuxDocs" no Google Drive

Usando rclone para visualizar arquivos no Google Drive

Podemos usar rclonepara espiar a pasta no Google Drive, direto da janela do terminal:

rclone ls google-drive: / LinuxDocs

rclone ls google-drive: / LinuxDocs em uma janela de terminal

A ponta do iceberg

É ótimo podermos realizar esse tipo de cópia diretamente da linha de comando. Podemos incorporar o uso de nosso armazenamento em nuvem em scripts e podemos programar a execução de scripts de backup usando cron.

rclonetem uma riqueza absoluta de comandos, você é encorajado a verificar sua documentação e excelente website . Nós mal arranhamos a superfície aqui, e um pouco de leitura e brincadeira rclonevai retribuir o esforço muitas vezes.

Estritamente falando, este não é um backup verdadeiro. É uma cópia remota de seus arquivos e dados, o que é definitivamente uma boa coisa, mas é apenas uma cópia de arquivos. Ele não oferece controle de versão ou outros recursos que as verdadeiras soluções de backup ofereceriam.

Portanto, use rcloneem conjunto com outras técnicas de backup. Como outra camada de um regime de backup existente, rcloneé uma maneira fácil de armazenar seus dados em um local geograficamente removido de sua casa ou escritório. E isso deve ser uma coisa boa.