Rclone ist ein Kommandozeilen-Programm, das es dem Anwender ermöglicht, Daten zwischen verschiedenen Cloud-Speicherdiensten wie OneDrive, Amazon S3, Dropbox und vielen weiteren zu synchronisieren und zu übertragen. Wie die Verbindung zu OneDrive 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 OneDrive 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/11 13: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 onedrive.
name> onedrive
Als nächstes musst du die Gegenstelle auswählen. Diese ist OneDrive Personal or Business, schreibe also onedrive.
Storage> onedrive
Der Wert für eine Client ID bleibt leer, drücke daher Enter.
Option client_id. OAuth Client Id. Leave blank normally. Enter a value. Press Enter to leave empty. client_id>
Auch der Client Secret bleibt leer, drücke daher Enter.
Option client_secret. OAuth Client Secret. Leave blank normally. Enter a value. Press Enter to leave empty. client_secret>
Wähle als Region Microsoft Cloud Global aus, gib dazu die 1 ein.
Option region. Choose national cloud region for OneDrive. Choose a number from below, or type in your own string value. Press Enter for the default (global). 1 / Microsoft Cloud Global \ (global) 2 / Microsoft Cloud for US Government \ (us) 3 / Microsoft Cloud Germany \ (de) 4 / Azure and Office 365 operated by 21Vianet in China \ (cn) region> 1
Die erweiterte Konfiguration kann ü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 web browser to automatically authenticate rclone with remote? * Say Y if the machine running rclone has a web browser you can use * Say N if running rclone on a (remote) machine without web browser access If not sure try Y. If Y failed, try N. 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 "onedrive" 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 "onedrive"
Es öffnet sich dein Webbrowser. Melde dich in deinem Microsoft-Konto an.
Erscheint folgende Meldung, kannst du zurück in die Eingabeaufforderung wechseln.
Dir wird hier nun ein langer Code angezeigt. Kopiere den Teil zwischen Paste the following into your remote machine ---> und <---End paste und füge diesen jetzt im Shell-Fenster als "config_token" ein.
Im nächsten Schritt wählst du 1 aus.
Option config_type. Type of connection Choose a number from below, or type in an existing string value. Press Enter for the default (onedrive). 1 / OneDrive Personal or Business \ (onedrive) 2 / Root Sharepoint site \ (sharepoint) / Sharepoint site name or URL 3 | E.g. mysite or https://contoso.sharepoint.com/sites/mysite \ (url) 4 / Search for a Sharepoint site \ (search) 5 / Type in driveID (advanced) \ (driveid) 6 / Type in SiteID (advanced) \ (siteid) / Sharepoint server-relative path (advanced) 7 | E.g. /teams/hr \ (path) config_type> 1
Bestätige nun den gefundenen Speicherplatz, indem du y absetzt.
Drive OK? Found drive "root" of type "personal" URL: .../Documents y) Yes (default) n) No y/n> y
Die Einrichtung ist nun abgeschlossen. Bestätige dies noch einmal mit y.
-------------------- [onedrive] type = onedrive token = {"access_token":"eRJ0eXAiOiJKV1QrLCJub25jZRI6Ik5G ... MQ-Ze2dIut-Oyxxs4GqdvyzhneA","token_type":"Bearer","refresh_token":"0.AQs ... 9lVZ5oDVpcs","expiry":"2023-02-12T08:40:40.6579376+01:00"} drive_id = b!Gw4yzafe ... EuoBSrG1TB drive_type = personal -------------------- 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" "onedrive:Pfad/in/OneDrive"
Rclone: Wo ist die Config gespeichert?
Bei Fragen oder Anregungen freue ich mich natürlich über eure Kommentare.
Ü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.