Hoe rclone te gebruiken om een ​​back-up te maken naar Google Drive op Linux

Het Google Drive-logo op een terminalvenster-gekleurde achtergrond.
Google

Er is nog steeds geen officiële Linux-client voor Google Drive, maar u kunt een back-up maken naar uw Google Drive met de rclone hulpprogramma vanaf de opdrachtregel. We laten je zien hoe.

Waar is Google Drive op Linux?

Ondanks de veelbelovende Linux-ondersteuning “binnenkort” terug in 2012, zijn er geen aanwijzingen dat Google ooit een native Linux-client voor Google Drive zal produceren. Er zijn verschillende niet-officiële oplossingen van derden, zoals InSync, overGrive en ODrive, en sommige bestandsbrowsers maken integratie met uw Google Drive mogelijk, zoals Files in GNOME.

De applicaties van derden zijn commerciële producten, waarvoor ofwel een rechtstreekse aankoop ofwel een abonnement vereist is. Ze werken goed, ze kosten niet veel, en in feite heeft overGrive een gratis versie, die gratis beperkte functionaliteit biedt.

Maar wat als u back-ups wilt maken en uitvoeren vanaf de opdrachtregel? Of om die functionaliteit in scripts op te nemen? Dat is allemaal mogelijk dankzij een geweldige applicatie genaamd rclone. In feite met rclone u kunt bestanden back-uppen, downloaden en synchroniseren met meer dan veertig verschillende cloudoplossingen. Het is net als rsync voor clouds.

Rclone

rclone wordt vrijwel zeker niet standaard op uw Linux-computer geïnstalleerd. Gelukkig is er een installatiescript dat op alle distributies zou moeten werken. Het installatieproces maakt gebruik van curl. Op de computers die werden gebruikt om dit artikel te onderzoeken, hadden Fedora 31 en Manjaro 18.1.0 al curl geïnstalleerd maar curl moest worden geïnstalleerd op Ubuntu 18.04 LTS.

Voer op Ubuntu deze opdracht uit om het te installeren:

sudo apt-get install curl

sudo apt-get install curl in een terminalvenster

Een keer curl is geïnstalleerd, installeer rclone met dit commando:

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

krul https://rclone.org/install.sh |  sudo bash in een terminalvenster

Wanneer de rclone de installatie is voltooid, ziet u een succesbericht.

Succesbericht van het rclone installtion-script in een terminalvenster

Dit heeft het rclone programma op uw Linux-computer. De volgende stap is om het installatieproces te doorlopen en te verifiëren rclone om toegang te krijgen tot uw Google Drive.

Een rclone Remote Connection maken

Verbindingen met externe cloudservices worden in het rclone wereld. We moeten er een maken voor Google Drive. Start de rclone configuratieproces met deze opdracht:

rclone config

rclone config in een terminalvenster

Er zijn veel vragen in het configuratieproces. Maar wees niet ontmoedigd, veel van hen kunnen op hun standaardwaarden worden gelaten en eenvoudig worden geaccepteerd door op ‘Enter’ te drukken.

rclone vertelt ons dat er geen afstandsbedieningen zijn geconfigureerd. Druk op “n” en druk op “Enter” om een ​​nieuwe afstandsbediening te maken. U wordt om een ​​naam gevraagd. We gaan het ‘google-drive’ noemen. Gebruik een willekeurige naam.

rclone-menu om een ​​nieuwe afstandsbediening te maken in een terminalvenster

Met een lang menu kunt u het type opslag kiezen waarmee u een externe verbinding maakt.

rclone type externe verbinding in een terminalvenster

Blader door de lijst totdat u het item voor Google Drive ziet en noteer het nummer.

rclone config in een terminalvenster

We kunnen zien dat het in dit geval nummer 13 is. Voer dit in als het opslagtype en druk op “Enter”.

Het rclone-opslagtype instellen in een terminalvenster

U wordt gevraagd om een ​​Google Application Client-ID. Druk op “Enter” om de standaardinstelling te accepteren.

Vraag om een ​​Google-toepassingsclient-ID in een terminalvenster

U wordt vervolgens om een ​​Google Application Client-geheim gevraagd.

vraag om een ​​Google-toepassingsclientgeheim in een terminalvenster

Nogmaals, druk gewoon op ‘Enter’. U wordt gevraagd om de reikwijdte daarvan te geven rclone zal hebben wanneer het werkt op uw Google Drive. Druk op “1” en vervolgens op “Enter”.

de ruimte bieden voor rclone in een terminalvenster

Voor de “ID van de hoofdmap” drukt u gewoon op “Enter”.

vraag om root-map-ID in een terminalvenster

Druk bij de prompt ‘Inloggegevens serviceaccount’ op ‘Enter’.

Vraag om inloggegevens voor serviceaccounts in een terminalvenster

Druk bij de prompt ‘Geavanceerde configuratie bewerken’ op ‘Enter’. Druk in het menu ‘Auto config. Gebruiken’ op ‘y’ en vervolgens op ‘Enter’.

Het menu "auto-configuratie gebruiken" in een terminalvenster

Dit veroorzaakt rclone om te communiceren met uw Google Drive, en om uw browser te starten zodat u toestemming kunt geven voor rclone om te communiceren met uw Google Drive.

rclone op het punt om een ​​browser te starten, in een terminalvenster

Klik in uw browservenster op het Google-account dat u wilt gebruiken.

Het Google-account kiezen om in een browservenster te gebruiken

Klik op de knop “Toestaan” om toe te staan rclone om toegang te hebben tot uw Google Drive.

Toestaan ​​dat rclone werkt met Google Drive in een terminalvenster

Wanneer de authenticatie is voltooid, ziet u een “Geslaagd!” bericht in het browservenster. U kunt de browser sluiten en terugkeren naar het terminalvenster.

Succesbericht in een browservenster

Typ bij de prompt ‘Dit configureren als teamdrive’ ‘n’ en druk vervolgens op ‘Enter’.

De rclone "configureer dit als een teamdrive" prompt in een terminalvenster

Typ in het menu “Ja, Bewerken, Verwijderen” “y” en druk vervolgens op “Enter”.

Het rclone "ja, bewerken, verwijderen" menu in een terminalvenster

Typ “q” in het laatste menu en druk op “Enter”.

Het laatste menu van rclone in een terminalvenster

Het rclone Back Up Script

De rclone applicatie is erg feature-rijk. Dat is geweldig, maar het betekent wel dat er veel opties zijn. De opdracht die we hieronder gaan bekijken, kopieert bestanden van uw lokale computer naar uw Google Drive. Dit is een eenrichtingskopie naar de cloud; het is echter geen tweerichtingssynchronisatie tussen uw Google Drive en uw lokale computer rclone kan dat doen. We gebruiken dit als een basisvorm van off-site back-up.

Typ (of kopieer en plak) dit in een teksteditor en sla het op uw computer op. We noemden het gbk.sh. Je kunt het noemen wat voor jou logisch is.

#!/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"

Dit is wat de parameters betekenen:

  • kopiëren: Kopieer de bestanden van de lokale computer naar de externe opslag, waarbij u de bestanden overslaat die al aanwezig zijn op de externe opslag.
  • -bijwerken: Alle bestanden op de externe opslag overslaan met een gewijzigde tijd die nieuwer is dan het bestand op de lokale computer.
  • -Verbose: Geeft informatie over elk bestand dat wordt overgedragen.
  • -Transfers 30: Dit stelt het aantal bestanden in dat parallel moet worden gekopieerd.
  • -Checkers 8: Hoeveel “schijven” moeten parallel worden uitgevoerd. Dammen controleren de overdrachten die worden uitgevoerd.,
  • –Contimeout 60s: De time-out van de verbinding. Het bepaalt de tijd dat rclone zal proberen verbinding te maken met de externe opslag.
  • –Time-out 300s: Als een overdracht gedurende deze tijd inactief wordt, wordt deze als verbroken beschouwd en wordt de verbinding verbroken.
  • -Retries 3: Als er zoveel fouten zijn, wordt de volledige kopieeractie opnieuw gestart.
  • – nieuwe pogingen op laag niveau 10: Een nieuwe poging op laag niveau probeert een mislukte bewerking te herhalen, zoals een enkele HTTP-aanvraag. Deze waarde stelt de limiet in voor het aantal nieuwe pogingen.
  • –Statistieken 1s: rclone kan statistieken verstrekken over de overgedragen bestanden. Dit stelt de frequentie van het bijwerken van de statistieken in op één seconde.
  • “/ Home / dave / Documents”: De lokale map waarnaar we gaan kopiëren naar de externe opslag.
  • “Google-drive: LinuxDocs”: De bestemmingsmap in de externe opslag. Let op het gebruik van “google-drive”, de naam die we aan deze externe verbinding hebben gegeven tijdens de rclone config volgorde. Let ook op de dubbele punt “:” die wordt gebruikt als scheidingsteken tussen de naam van de externe opslag en de mapnaam. Submappen worden gescheiden door de gebruikelijke schuine streep “/”. Als de bestemmingsmap niet bestaat, wordt deze gemaakt.

Sommige van deze waarden zijn de standaardwaarden, maar we hebben ze hier opgenomen zodat we ze kunnen bespreken. Op die manier weet u welke parameter u moet aanpassen als u een waarde moet wijzigen.

Maak het script uitvoerbaar met deze opdracht:

chmod +x gbk.sh

Het back-upscript uitvoeren

Ons back-upscript kopieert onze map Documenten naar onze Google Drive. In onze map Documenten hebben we een verzameling bladmuziek.

Verzameling van bladmuziek in ~ / Documenten in een bestandsbrowser

We kunnen het back-upscript starten met deze opdracht:

./gbk.sh

./gbk.sh in een terminalvenster

We vroegen elke seconde om statistiekenupdates (--stats 1s), en we vroegen ook om uitgebreide uitvoer (--verbose). Het zal dan ook geen verrassing zijn dat we veel schermuitvoer krijgen. Het is meestal een goede optie om uitgebreide uitvoer in te schakelen voor nieuwe functionaliteit, zodat u problemen kunt herkennen. U kunt de hoeveelheid output verlagen als u tevreden bent dat alles soepel verloopt.

rclone-uitvoer in een terminalvenster

We krijgen een laatste samenvatting waarin staat dat 60 bestanden foutloos zijn overgedragen. De overdracht duurde ongeveer 24 seconden.

Laten we eens kijken op onze Google Drive en kijken wat er is gebeurd in onze cloudopslag.

LinuxDocs-map in Google Drive

Er is een “LinuxDocs” -directory gemaakt, dus dat ziet er veelbelovend uit. Als we erop dubbelklikken om een ​​kijkje te nemen, kunnen we zien dat de bestanden allemaal zijn overgebracht naar onze Google Drive.

Bestanden in "LinuxDocs" op Google Drive

Gebruik rclone om bestanden op Google Drive te bekijken

We kunnen gebruiken rclone om een ​​kijkje te nemen in de map op Google Drive, rechtstreeks vanuit het terminalvenster:

rclone ls google-drive:/LinuxDocs

rclone ls google-drive: / LinuxDocs in een terminalvenster

Het topje van de ijsberg

Dat is geweldig dat we dit type kopie rechtstreeks vanaf de opdrachtregel kunnen uitvoeren. We kunnen het gebruik van onze cloudopslag in scripts opnemen en we kunnen de uitvoering van back-upscripts plannen met behulp van cron.

rclone heeft een absolute schat aan opdrachten, u wordt aangemoedigd om hun documentatie en uitstekende website te bekijken. We hebben hier amper de oppervlakte bekrast, en een beetje lezen en spelen rclone zal de moeite vele malen terugbetalen.

Strikt genomen is dit geen echte back-up. Het is een externe, externe kopie van uw bestanden en gegevens, wat zeker een goede zaak is, maar het is slechts een kopie van bestanden. Het biedt geen versiebeheer of andere functies die echte back-upoplossingen zouden bieden.

Dus gebruik rclone in combinatie met andere back-uptechnieken. Als een nieuwe laag op een bestaand back-upregime rclone is een gemakkelijke manier om uw gegevens op te slaan op een locatie die geografisch is verwijderd van uw huis of kantoor. En dat moet een goede zaak zijn.

Nieuwste artikelen

Gerelateerde artikelen