Rclone ist ein Kommandozeilenprogramm, mit dem man Daten zwischen verschiedenen Cloud-Speicherdiensten wie Google Drive, Amazon S3, Dropbox und vielen anderen synchronisieren und übertragen kann. Wie die Verbindung zu Google Drive per Shell auf einem Server funktioniert, zeige ich in diesem Beitrag.

Rclone installieren

Rclone lässt sich mit einem einzigen Befehl installieren. Zunächst wird curl installiert, falls noch nicht vorhanden:

sudo apt-get install curl

Mit folgendem Befehl kann jetzt Rclone installiert werden. Das Script installiert die für das Betriebssystem passende Version.

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

Verbindung zu Google Drive herstellen

Über folgenden Befehl wird der Konfigurator von Rclone gestartet:

rclone config

Verwende hier n, um eine neue Konfiguration anzulegen.

user@vps:~$ rclone config
2023/01/26 18:27:23 NOTICE: Config file "/home/user/.config/rclone/rclone.conf" not found - using defaults
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n

Vergib einen beliebigen Namen für die Konfiguration, beispielsweise gdrive.

name> gdrive

Als nächstes musst du die Gegenstelle auswählen. Diese ist Google Drive, schreibe also drive.

Storage> drive

Du wirst zur Eingabe eines Application ID gebeten. Überspringe diesen Schritt mit Enter:

Option client_id.
Google Application Client Id
Setting your own is recommended.
See https://rclone.org/drive/#making-your-own-client-id for how to create your own.
If you leave this blank, it will use an internal key which is low performance.
Enter a value. Press Enter to leave empty.
client_id>

Auch den nächsten Schritt überspringst du mit Enter:

Option client_secret.
OAuth Client Secret.
Leave blank normally.
Enter a value. Press Enter to leave empty.
client_secret>

Vergib die kompletten Rechte auf den Cloudspeicher, indem du 1 eingibst.

 1 / Full access all files, excluding Application Data Folder.
   \ (drive)
 2 / Read-only access to file metadata and file contents.
   \ (drive.readonly)
   / Access to files created by rclone only.
 3 | These are visible in the drive website.
   | File authorization is revoked when the user deauthorizes the app.
   \ (drive.file)
   / Allows read and write access to the Application Data folder.
 4 | This is not visible in the drive website.
   \ (drive.appfolder)
   / Allows read-only access to file metadata but
 5 | does not allow any access to read or download file content.
   \ (drive.metadata.readonly)
scope> 1

Die Angabe eines Root-Ordners ist nicht notwendig, überspringe den Schritt mit Enter:

Option root_folder_id.
ID of the root folder.
Leave blank normally.
Fill in to access "Computers" folders (see docs), or for rclone to use
a non root folder as its starting point.
Enter a value. Press Enter to leave empty.
root_folder_id>

Auch der nächste Schritt wird wieder übersprungen.

Option service_account_file.
Service Account Credentials JSON file path.
Leave blank normally.
Needed only if you want use SA instead of interactive login.
Leading `~` will be expanded in the file name as will environment variables such as `${RCLONE_CONFIG_DIR}`.
Enter a value. Press Enter to leave empty.
service_account_file>

Die erweiterte Konfiguration kann mit n übersprungen werden.

Edit advanced config?
y) Yes
n) No (default)
y/n> n

Da du per Shell auf einen externen Server verbunden bist, wählst du im nächsten Schritt n aus, da kein Browser geöffnet werden kann.

Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine

y) Yes (default)
n) No
y/n> n

Es erscheint folgende Ausgabe:

Option config_token.
For this to work, you will need rclone available on a machine that has
a web browser available.
For more help and alternate methods see: https://rclone.org/remote_setup/
Execute the following on the machine with the web browser (same rclone
version recommended):
        rclone authorize "drive" "TOKEN"
Then paste the result.
Enter a value.
config_token>

Nun musst du auf deinem Windows-Rechner unter rclone.org/downloads/ die aktuelle Version für Windows "Intel/AMD - 64 Bit" herunterladen und das Archiv entpacken.

Starte dann eine Eingabeaufforderung und navigiere in den Ordner, in welchem sich die Rclone-Dateien befinden:

cd c:\Users\Benutzername\Downloads\rclone

Setze nun den Befehl ab, welcher dir in der Shell angezeigt wurde, um dich mit Google zu authentisieren:

rclone authorize "drive" "TOKEN"

Es öffnet sich dein Webbrowser. Melde dich in deinem Google Konto an und klicke auf Zulassen, um dem Programm die entsprechenden Berechtigungen zu vergeben.

Erscheint folgende Meldung, kannst du zurück in die Eingabeaufforderung wechseln.

Dir wird hier nun ein langer Code angezeigt, welchen du kopieren musst.

c:\Users\Janis\Downloads\rclone>rclone authorize "drive" "etJzY23wZSR6ImgypXF5Iu6"
2023/01/26 18:32:38 NOTICE: Config file "C:\\Users\\Janis\\AppData\\Roaming\\rclone\\rclone.conf" not found - using defaults
2023/01/26 18:32:38 NOTICE: If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=6t31Z4TRTH5lEqSqRxWL3i
2023/01/26 18:32:38 NOTICE: Log in and authorize rclone for access
2023/01/26 18:32:38 NOTICE: Waiting for code...
2023/01/26 18:33:48 NOTICE: Got code
Paste the following into your remote machine --->
erJ0b2elbiI6IGtcIeFjE2Vzc730b5tf...
<---End paste

c:\Users\Janis\Downloads\rclone>

Diesen Code gibst du in der Shell ein. Beantworte die nächste Frage mit n.

Configure this as a Shared Drive (Team Drive)?

y) Yes
n) No (default)
y/n> n

Die Einrichtung ist nun abgeschlossen:

--------------------
[gdrive]
type = drive
scope = drive
token = {"access_token":"ya29.a0RX9EBd...","token_type":"Bearer","refresh_token":"1//09t42...","expiry":"2023-05-11T19:33:47.546461+01:00"}
team_drive =
--------------------
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y

Drücke q, um das Setup zu beenden.

Der Teil zwischen den Bindestrichen ist die Konfiguration, so wie ihn manche Programm benötigen. Um manuell per Shell etwas zu Google Drive hochzuladen, kann folgender Befehl verwendet werden:

/usr/bin/rclone copy --update --verbose --transfers 10 --checkers 5 --contimeout 30s --timeout 180s --retries 3 --low-level-retries 10 --log-file=log.txt "Lokaler/Pfad/zur/Datei" "gdrive:Pfad/in/OneDrive"

Rclone: Wo ist die Config gespeichert?

Bei Fragen oder Anregungen freue ich mich natürlich über eure Kommentare.

Kategorie: Server

Tags: , ,

0 Kommentare

883 Aufrufe

Über mich

Ich bin Janis (aka. EurenikZ), 25 Jahre alt und komme aus der Nähe von Frankfurt am Main. Ich habe eine abgeschlossene IHK-Ausbildung zum Fachinformatiker für Systemintegration und arbeite als Junior IT-Administrator in einem IT-Systemhaus. Neben meinem IT-Blog beschäftige ich mich viel mit diversen IT-Themen und meinen Webseiten sowie Telegram Bots und biete IT-Dienstleistungen an.

1151 Aufrufe

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten.

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen. Sei der Erste, der diesen Beitrag bewertet!

Es tut mir Leid, dass der Beitrag für dich nicht hilfreich war!

Wie kann ich diesen Beitrag verbessern?

Hinterlasse einen Kommentar

  • Manchmal ist es notwendig, sich in die Shell eines Docker-Containers zu schalten, um dort beispielsweise weitere Konfigurationen vornehmen zu können. Wie du dich in eine Container-Shell einloggst, zeige ich dir in diesem Beitrag. Begib dich zunächst in das Verzeichnis, in[...]

    12.03.2024 18:37

    39
  • Mithilfe eines Swap-Speichers lagert man temporäre Daten in eine Auslagerungsdatei aus, anstatt in den RAM zu schreiben. Das ist vor allem dann sinnvoll, wenn wenig Arbeitsspeicher zur Verfügung steht und man Abstürze wegen zu wenig Arbeitsspeicher umgehen möchte. Was ist[...]

    01.01.2024 10:00

    148
  • Beim Löschen von Dateien in Nextcloud landen diese im Papierkorb und bleiben dort, bis dieser manuell geleert wird. Möchte man Dateien im Papierkorb automatisch nach einer bestimmten Zeit löschen lassen, muss die Konfiguration entsprechend angepasst werden. Die Papierkorb-Funktion ist[...]

    10.12.2023 20:57

    89
  • Manchmal ist es notwendig, sich in die Shell eines Docker-Containers zu schalten, um dort beispielsweise weitere Konfigurationen vornehmen zu können. Wie du dich in eine Container-Shell einloggst, zeige ich dir in diesem Beitrag. Begib dich zunächst in das Verzeichnis, in[...]

    12.03.2024 18:37

    39
  • Mithilfe eines Swap-Speichers lagert man temporäre Daten in eine Auslagerungsdatei aus, anstatt in den RAM zu schreiben. Das ist vor allem dann sinnvoll, wenn wenig Arbeitsspeicher zur Verfügung steht und man Abstürze wegen zu wenig Arbeitsspeicher umgehen möchte. Was ist[...]

    01.01.2024 10:00

    148