Como usar rclone para fazer backup no Google Drive no Linux

Ainda não há um cliente Linux oficial para o Google Drive, mas você pode fazer backup no Google Drive usando o utilitário rclone diretamente da 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 algum dia produzirá um cliente Linux nativo para o Google Drive. Existem várias soluções de terceiros não oficiais, como Em sincronia, overGrive e ODrivee alguns navegadores de arquivos permitem a integração com o Google Drive, como arquivos dentro GNOMO.

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 rclone você pode faça backup, baixe e sincronize arquivos para mais de quarenta soluções de nuvem diferentes. É como rsync para nuvens.

Instalando rclone

É quase certo que o rclone não será instalado no 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 ondulação. Nos computadores usados ​​para pesquisar este artigo, o Fedora 31 e o Manjaro 18.1.0 já tinham o curl instalado, mas o curl teve que ser instalado no Ubuntu 18.04 LTS.

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

sudo apt-get install curl

Depois de instalar o curl, instale o rclone com este comando:

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

Quando a instalação do rclone terminar, você verá uma mensagem de sucesso.

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

Criando uma conexão remota rclone

As conexões com serviços remotos em nuvem são chamadas de “remotas” no mundo rclone. Precisamos criar um para o Google Drive. Inicie o processo de configuração do rclone com este comando:

rclone config

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

  Como instalar um pacote Debian em qualquer distribuição Linux

rclone nos diz 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.

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

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

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

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

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

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

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

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

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

O

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

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

Clique no botão “Permitir” para permitir que rclone tenha acesso ao seu Google Drive.

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.

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

O rclone

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

O rclone

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

O script de backup rclone

O aplicativo rclone é muito rico em recursos. Isso é ótimo, mas significa Há muitas opções. O comando que veremos a seguir copia 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 rclone possa fazer isso. Estamos usando isso como uma forma básica de backup externo.

  Como usar o comando grep no Linux

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

#!/bin/bash

/usr/bin/rclone copy --update --verbose --transfers 30 --checkers 8 --contimeout 60s --timeout 300s --retries 3 --low-level-retries 10 --stats 1s "/home/dave/Documents" "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 cada arquivo que é transferido.
–Transfers 30: Isso define o número de arquivos a serem copiados em paralelo.
–Checkers 8: Quantos “verificadores” devem ser executados em paralelo. Os verificadores monitoram as transferências em andamento.,
–Contimeout 60s: O tempo limite da conexão. Ele define a hora em que rclone tentará 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 novas tentativas.
–Stats 1s: rclone pode 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 essa conexão remota durante a sequência de configuração do rclone. Observe também os dois pontos “:” que são usados ​​como separadores 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.

  O que são stdin, stdout e stderr no Linux?

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.

Podemos iniciar o script de backup com este comando:

./gbk.sh

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, que tenhamos uma grande quantidade de saída de 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 estão funcionando perfeitamente.

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.

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

Arquivos em

Usando rclone para visualizar arquivos no Google Drive

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

rclone ls google-drive:/LinuxDocs

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 agendar a execução de scripts de backup usando cron.

rclone tem uma riqueza absoluta de comandos, você é encorajado a confira sua documentação e excelente website. Mal arranhamos a superfície aqui, e um pouco de leitura e brincar com rclone vai compensar o esforço muitas vezes.

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

Portanto, use o rclone em conjunto com outras técnicas de backup. Como outra camada para um regime de backup existente, o 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.