Hur man använder rclone för att säkerhetskopiera till Google Drive på Linux

By rik

Det saknas fortfarande en officiell Linux-applikation för Google Drive, men genom att använda verktyget rclone direkt från kommandotolken kan du skapa säkerhetskopior till din Google Drive. Vi guidar dig genom processen.

Google Drive på Linux: Var är den?

Trots löften om Linux-stöd ”inom kort” redan år 2012, finns det inga indikationer på att Google någonsin kommer att lansera en officiell Linux-klient för Google Drive. Flera inofficiella lösningar från tredje part finns tillgängliga, såsom Insync, overGrive och ODrive. Vissa filhanterare erbjuder också integration med Google Drive, exempelvis Filer i GNOME.

Dessa tredjepartsalternativ är oftast kommersiella produkter som antingen kräver ett direktköp eller en prenumeration. De fungerar i allmänhet bra och är inte speciellt dyra. OverGrive erbjuder till och med en gratisversion med begränsade funktioner.

Men vad händer om du vill schemalägga och köra säkerhetskopieringar direkt från kommandoraden, eller integrera den funktionen i ett skript? Det är fullt möjligt tack vare rclone, ett kraftfullt verktyg. Med rclone kan du säkerhetskopiera, ladda ner och synkronisera filer med över fyrtio olika molntjänster. Det är som rsync för molnet.

Installation av rclone

rclone är sannolikt inte förinstallerat på din Linux-dator. Lyckligtvis finns det ett installationsskript som fungerar på de flesta distributioner. Installationsprocessen använder curl. På de datorer som användes under arbetet med den här artikeln var curl redan installerat på Fedora 31 och Manjaro 18.1.0, men curl måste installeras på Ubuntu 18.04 LTS.

För att installera curl på Ubuntu, använd följande kommando:

sudo apt-get install curl

När curl är installerat, kan du installera rclone med det här kommandot:

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

Efter att installationen av rclone är klar kommer du att se ett bekräftelsemeddelande.

Nu är rclone installerat på din Linux-dator. Nästa steg är att konfigurera rclone och autentisera det för att få tillgång till din Google Drive.

Skapa en fjärranslutning i rclone

Anslutningar till molntjänster kallas för ”fjärranslutningar” i rclones terminologi. Vi måste skapa en för Google Drive. Starta rclones konfigurationsprocess med följande kommando:

rclone config

Konfigurationsprocessen ställer många frågor, men oroa dig inte. Många av dem kan lämnas kvar på sina standardvärden genom att trycka på ”Enter”.

rclone kommer att informera dig om att inga fjärranslutningar är konfigurerade. Tryck på ”n” och sedan ”Enter” för att skapa en ny fjärranslutning. Du kommer att bli ombedd att ange ett namn. Vi kommer att använda ”google-drive”, men du kan använda vilket namn du vill.

En lång meny låter dig välja vilken typ av lagring du vill ansluta till.

Scrolla ner i listan tills du hittar posten för Google Drive och notera dess nummer.

I det här fallet ser vi att numret är 13. Ange detta nummer som lagringstyp och tryck på ”Enter”.

Du kommer att bli uppmanad att ange ett Google Application Client ID. Tryck på ”Enter” för att acceptera standardinställningen.

Därefter kommer du att bli uppmanad att ange en Google Application Client Secret.

Återigen, tryck bara på ”Enter”. Du kommer att bli ombedd att ange omfattningen av åtkomst som rclone ska ha till din Google Drive. Tryck på ”1” och sedan ”Enter”.

För ”ID för rotmappen”, tryck bara på ”Enter”.

Tryck på ”Enter” vid prompten för ”Service Account Credentials”.

Vid ”Redigera avancerad konfiguration”, tryck bara på ”Enter”. I menyn ”Use auto config”, tryck på ”y” och sedan ”Enter”.

Detta gör att rclone kan kommunicera med din Google Drive och öppna din webbläsare så att du kan godkänna att rclone interagerar med din Google Drive.

I webbläsaren, klicka på det Google-konto du vill använda.

Klicka på ”Tillåt” för att ge rclone tillgång till din Google Drive.

När autentiseringen är klar ser du ett ”Framgång!”-meddelande i webbläsarfönstret. Du kan nu stänga webbläsaren och återvända till terminalfönstret.

Vid frågan ”Konfigurera detta som en teamenhet”, skriv ”n” och tryck sedan på ”Enter”.

I menyn ”Ja, redigera, radera”, skriv ”y” och tryck sedan på ”Enter”.

I den sista menyn, skriv ”q” och tryck på ”Enter”.

Säkerhetskopieringsskript med rclone

rclone är ett mycket kraftfullt verktyg, vilket betyder att det finns många olika alternativ. Kommandot vi går igenom nedan kopierar filer från din lokala dator till din Google Drive. Det här är en enkelriktad kopiering till molnet, inte en tvåvägssynkronisering mellan Google Drive och din lokala dator, även om rclone kan göra det. Vi använder detta som en grundläggande form av säkerhetskopiering.

Klistra in (eller skriv) följande i en textredigerare och spara filen på din dator. Vi har valt att kalla den gbk.sh, men du kan välja ett annat namn.

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

Här följer en förklaring av parametrarna:

  • copy: Kopierar filer från den lokala datorn till fjärrlagringen och hoppar över filer som redan finns där.
  • –update: Hoppar över filer som redan finns på fjärrlagringen om filen där är nyare än den lokala filen.
  • –verbose: Visar information om varje fil som överförs.
  • –transfers 30: Anger antalet filer som ska kopieras parallellt.
  • –checkers 8: Antalet ”checkers” som ska köras parallellt. Checkers övervakar de pågående överföringarna.
  • –contimeout 60s: Tidsgränsen för anslutningen, det vill säga hur länge rclone ska försöka ansluta till fjärrlagringen.
  • –timeout 300s: Om en överföring blir inaktiv under den här tiden anses den vara bruten och kopplas bort.
  • –retries 3: Om det uppstår så många fel, kommer hela kopieringsprocessen att startas om.
  • –low-level-retries 10: Återförsök på låg nivå försöker åtgärda misslyckade operationer, exempelvis HTTP-förfrågningar. Värdet anger antalet försök som görs.
  • –stats 1s: rclone visar statistik över de överförda filerna. Det här värdet anger hur ofta statistiken ska uppdateras (en gång per sekund).
  • ”/home/dave/Documents”: Den lokala katalogen som ska kopieras till fjärrlagringen.
  • ”google-drive:LinuxDocs”: Målkatalogen på fjärrlagringen. Observera att ”google-drive” är namnet vi gav fjärranslutningen under konfigurationen, samt kolonet ”:” som skiljer fjärrlagringsnamnet och katalognamnet. Underkataloger separeras med vanliga snedstreck ”/”. Om målkatalogen inte finns, kommer den att skapas.

Vissa av de här värdena är standardvärden, men vi har inkluderat dem för att kunna diskutera dem. På så vis kan du justera parametrarna om det behövs.

Gör skriptet körbart med det här kommandot:

chmod +x gbk.sh

Köra säkerhetskopieringsskriptet

Vårt säkerhetskopieringsskript kommer nu att kopiera vår dokumentmapp till Google Drive. Vi har samlat en del anteckningar i dokumentmappen.

Vi kan starta säkerhetskopieringsskriptet med kommandot:

./gbk.sh

Vi har valt att få statistikuppdateringar varje sekund (–stats 1s) och detaljerad information (–verbose). Därför är det inte oväntat att få mycket utdata på skärmen. Det är ofta en bra idé att aktivera detaljerad utdata när du testar nya funktioner, så att du kan upptäcka eventuella problem. Du kan minska utdatamängden när du är säker på att allt fungerar som det ska.

Vi får en sammanfattning som säger att 60 filer har överförts utan problem. Överföringen tog ungefär 24 sekunder.

Nu kan vi kika in i vår Google Drive för att se vad som har hänt där.

En katalog som heter ”LinuxDocs” har skapats, vilket ser lovande ut. Om vi dubbelklickar på katalogen ser vi att alla filer har överförts till vår Google Drive.

Visa filer på Google Drive med rclone

Vi kan använda rclone för att titta in i mappen på Google Drive, direkt från terminalen:

rclone ls google-drive:/LinuxDocs

Toppen av isberget

Det är bra att kunna göra den här typen av kopiering direkt från kommandoraden. Vi kan nu integrera vår molnlagring i skript och schemalägga körning av säkerhetskopieringsskript med cron.

rclone har otroligt många funktioner, och vi rekommenderar att du läser dokumentationen och besöker webbplatsen. Vi har knappt skrapat på ytan här, och det lönar sig verkligen att lära sig och leka med rclone.

Tekniskt sett är detta inte en fullständig säkerhetskopia. Det är en extern kopia av dina filer och data, vilket såklart är bra att ha, men det är bara en kopia av filer. Den erbjuder inte versionshantering eller andra funktioner som en riktig backup-lösning skulle göra.

Därför är det viktigt att använda rclone tillsammans med andra tekniker för säkerhetskopiering. rclone är ett enkelt sätt att lagra dina data på en plats som befinner sig geografiskt avskild från ditt hem eller kontor, vilket är ett bra tillägg till en befintlig backup-strategi. Och det är ju bra.