3 Punkte von GN⁺ 2024-01-28 | 1 Kommentare | Auf WhatsApp teilen
  • Rclone ist ein Tool zur Verwaltung von Cloud-Dateien über die Kommandozeile und kann ohne Abhängigkeit von einer Weboberfläche mit mehr als 70 Speicherprodukten und standardisierten Übertragungsprotokollen arbeiten
  • Es bietet vertraute Unix-artige Operationen wie rsync, cp, mv und mount für die Cloud und unterstützt außerdem Shell-Pipelines, --dry-run, Skripte und API-Automatisierung
  • Während der Übertragung bleiben Zeitstempel und Prüfsummen erhalten, und auch bei Bandbreitenlimits, instabilen Verbindungen oder Quota-Umgebungen kann ab dem letzten erfolgreichen Übertragungspunkt neu gestartet werden
  • Lokale, Cloud- und virtuelle Dateisysteme lassen sich unter Windows, macOS, Linux und FreeBSD wie ein Laufwerk einhängen und per SFTP, HTTP, WebDAV, FTP oder DLNA bereitstellen
  • Backup, Wiederherstellung, Cloud-zu-Cloud-Migration sowie Verschlüsselung, Komprimierung, Chunking, Hashing und Zusammenführung lassen sich mit einem einzigen Tool erledigen, was beim gleichzeitigen Betrieb mehrerer Storage-Services nützlich ist

Kommandozeilen-Tool für Cloud-Dateiverwaltung

  • Rclone ist ein Kommandozeilenprogramm zur Verwaltung von Dateien in Cloud-Speichern
  • Es wird als funktionsreiches Tool genutzt, das die von Cloud-Anbietern bereitgestellten Web-Storage-Oberflächen ersetzen kann
  • Unterstützt werden mehr als 70 Ziele, darunter S3-Objektspeicher, Datei-Storage-Services für Unternehmen und Privatnutzer sowie standardisierte Übertragungsprotokolle
  • Nutzer bezeichnen Rclone als „Schweizer Taschenmesser für Cloud-Speicher“ und als „Technologie, die von Magie nicht zu unterscheiden ist“

Unix-artige Befehle und Automatisierung

  • Rclone bietet Cloud-Operationen, die vertrauten Unix-Befehlen entsprechen
    • rsync
    • cp
    • mv
    • mount
    • ls
    • ncdu
    • tree
    • rm
    • cat
  • Die Syntax unterstützt Shell-Pipelines, und mit --dry-run lassen sich Aktionen vor tatsächlichen Änderungen prüfen
  • Es kann nicht nur über die Kommandozeile, sondern auch per Skript und API verwendet werden
  • Drittentwickler nutzen die Rclone-Kommandozeile oder API, um Backup-, Restore-, GUI- und Business-Process-Lösungen zu erstellen

Datenschutz und Übertragungsstabilität

  • Zeitstempel bleiben während der Übertragung erhalten, und Prüfsummen werden stets verifiziert
  • Auch in Umgebungen mit begrenzter Bandbreite, unterbrochenen Verbindungen oder Quotas kann ab der zuletzt erfolgreich übertragenen Datei fortgesetzt werden
  • Mit dem Befehl check lässt sich die Dateiintegrität prüfen
  • Wenn möglich, werden serverseitige Übertragungen genutzt, um die lokale Bandbreitennutzung zu reduzieren und Transfers zwischen Anbietern ohne Umweg über lokale Datenträger durchzuführen
  • Zu den Übertragungsfunktionen gehören
    • Prüfung der Dateiintegrität per MD5- und SHA1-Hash
    • Erhalt von Datei-Zeitstempeln
    • jederzeit neu startbare Jobs
    • Netzwerkübertragungen zwischen unterschiedlichen Cloud-Anbietern
    • Multi-Thread-Downloads auf lokale Datenträger

Szenarien für Backup, Wiederherstellung und Migration

  • Dateien lassen sich in Cloud-Speichern sichern und bei Bedarf verschlüsseln
  • Dateien lassen sich aus Cloud-Speichern wiederherstellen und bei Bedarf entschlüsseln
  • Cloud-Daten können auf andere Cloud-Services oder lokal gespiegelt werden
  • Daten lassen sich in die Cloud migrieren oder zwischen Cloud-Storage-Anbietern verschieben
  • Mehrere verschlüsselte, gecachte und heterogene Cloud-Speicher lassen sich wie Laufwerke einhängen
  • Mit lsf, ljson, size, ncdu lassen sich Daten in Cloud-Speichern analysieren und aggregieren
  • Mit Union können mehrere lokale oder Cloud-Dateisysteme wie eines dargestellt werden

Dateivorgänge und Bereitstellung von Diensten

  • Copy kopiert neue oder geänderte Dateien in den Cloud-Speicher
  • Sync gleicht Verzeichnisse einseitig an
  • Bisync synchronisiert zwei Verzeichnisse bidirektional
  • Move verschiebt Dateien in den Cloud-Speicher und löscht lokale Dateien nach der Verifizierung
  • Check prüft Hashes sowie fehlende und zusätzliche Dateien
  • Mount hängt Cloud-Speicher als Netzlaufwerk ein
  • Serve stellt lokale oder entfernte Dateien per HTTP, WebDAV, FTP, SFTP, DLNA bereit
  • Die webbasierte GUI ist eine experimentelle Funktion

Einhängen und virtuelle Backends

  • Lokale, Cloud- und virtuelle Dateisysteme werden unter Windows, macOS, Linux und FreeBSD als Laufwerk eingehängt
  • Dasselbe Dateisystem kann per SFTP, HTTP, WebDAV, FTP, DLNA bereitgestellt werden
  • Virtuelle Backends umhüllen lokale oder Cloud-Dateisysteme und fügen zusätzliche Funktionen hinzu
    • Crypt: Dateiverschlüsselung
    • Compress: Dateikomprimierung
    • Chunker: Aufteilen großer Dateien
    • Hasher: Datei-Hashing
    • Union: Zusammenführung mehrerer Remote-Speicher
    • Alias: Umbenennen bestehender Remote-Speicher
    • Archive: Lesen von Archivdateien
    • Cache: Caching für Remote-Speicher, Deprecated
    • Combine: Zusammenführung mehrerer Remote-Speicher in einem Verzeichnisbaum

Unterstützte Anbieter und Installation

  • Zu den unterstützten Anbietern gehören Amazon S3, Backblaze B2, Box, Dropbox, Google Cloud Storage, Google Drive, Microsoft Azure Blob Storage, Microsoft OneDrive, Proton Drive, SFTP, SMB/CIFS, WebDAV und lokale Dateisysteme
  • Auch andere Anbieter auf Basis standardisierter Protokolle wie WebDAV oder S3 funktionieren oft sofort
  • Rclone ist aus rsync hervorgegangene, ausgereifte Open-Source-Software und in Go geschrieben
  • Rclone ist in den offiziellen Repositories von Ubuntu, Debian, Fedora, Brew und Chocolatey enthalten
  • Für die neueste Version wird der Download über rclone.org empfohlen
  • Verwandte Links

1 Kommentare

 
GN⁺ 2024-01-28
Meinungen auf Hacker News
  • Ich mag rclone wirklich sehr. Ich erinnere mich, dass auf der früheren Spendenseite sinngemäß stand: „rclone ist ein Projekt, das aus Liebe entsteht, Geld brauche ich nicht, aber wenn ihr etwas dazugeben möchtet, damit ich meiner Frau Blumen kaufen kann, wäre ich sehr dankbar“
    Das wirkte einfach wie ein großartiger Mensch, und es freut mich, dass er jetzt Vollzeit an rclone arbeiten kann. Ich hoffe, es bleibt weiterhin eine erfüllende Arbeit
    Ich habe die damalige Seite auf archive.org gefunden, und sie war noch herzerwärmender, als ich sie in Erinnerung hatte:
    “Rclone is a pure open source for love-not-money project. However I’ve had requests for a donation page and coding rclone does take me away from something else I love - my wonderful wife.”
    “So if you would like to send a donation, I will use it to buy flowers (and other pretty things) for her which will make her very happy.”
    https://web.archive.org/web/20180624105005/https://rclone.or...

    • Ich habe Nick einmal persönlich getroffen; er war wirklich ein sehr netter Mensch
  • rclone kann Cloud Storage auch wie eine lokale Festplatte mounten, was besonders in Kubernetes praktisch ist
    Wenn viele Dateien im selben Ordner liegen, ist Lesen/Schreiben bei Nutzung wie ein Laufwerk zwar nicht besonders schnell, aber es ist eine schnelle und einfache Möglichkeit, Cloud Storage in Projekten zu nutzen
    Auch Ende-zu-Ende-Verschlüsselung pro Speicherort ist möglich: Beispielsweise werden alle Dateien, die man auf ein gemountetes Laufwerk legt, verschlüsselt in den Dropbox-Ordner /foo geschrieben. Das ist gut, weil Anbieter wie Dropbox oder S3 noch keine native Ende-zu-Ende-Verschlüsselung unterstützen
    Insgesamt ist rclone ein Tool, das man gern griffbereit hat, und es löst wirklich sehr viele Anwendungsfälle

    • Einen temporären FTP-Server, der lokalen oder Cloud Storage bereitstellt, kann man damit sehr einfach erstellen
      Zum Beispiel stellt mein Pi4 Dropbox per rclone-FTP-Server im internen Netz bereit, und über einen separaten FTP-Server kann der Netzwerkdrucker Scans speichern. Auf demselben Gerät laufen mit rclone auch automatische Backups des Cloud Storage meiner Familie und enger Freunde. In meinem internen Netz ist rclone praktisch ein Retter
    • Für diesen Zweck ist es wirklich gut, aber man sollte sicherstellen, dass das Netzwerk stabil ist
      Ich mounte Google Drive auf Desktop und Laptop; auf dem Laptop ist das Problem, dass das Betriebssystem das Laufwerk als lokal ansieht und rclone bei Netzwerkfehlern nicht in einen Timeout läuft. Wenn eine Anwendung versucht, auf das Laufwerk zu lesen oder zu schreiben, während kein WLAN verbunden ist, hängt sie für immer. Wenn unter XFCE zum Beispiel ein Thunar-Fenster offen ist, kann ein Großteil der UI blockieren
    • Allein die Aussage „Cloud Storage auf eine lokale Festplatte mounten“ war für mich nicht sofort greifbar. Ich fragte mich, ob dafür FUSE, 9p, ein Treiber oder ein anderer Mechanismus genutzt wird, um Dateisystemaufrufe in API-Aufrufe umzuwandeln
      Wie sich herausstellte, war es FUSE
    • Mich würde interessieren, ob jemand rclone erfolgreich als Ersatz für bidirektionale Sync-Apps wie Insync für Google Drive verwendet hat
      Insync ist nicht toll und Google Drive auch nicht, aber für etwas, auf das man täglich angewiesen ist, braucht man meiner Meinung nach unbedingt eine lokale Kopie der Dateien und sofortige Synchronisierung zwischen lokal und Server. Besonders bei unzuverlässiger Internetverbindung
    • Wenn von „e2e“-Verschlüsselung die Rede ist, frage ich mich, ob damit clientseitige Verschlüsselung gemeint ist. S3 unterstützt sowohl clientseitige als auch serverseitige Verschlüsselung
      Natürlich muss ein Dienst für clientseitige Verschlüsselung normalerweise nicht besonders viel speziell unterstützen
      Für clientseitige Verschlüsselung gibt es sogar einen eigenen verschlüsselten S3-Client: https://docs.aws.amazon.com/amazon-s3-encryption-client/late...
  • Meine liebste rclone-Nutzung ist rclone ncdu: https://rclone.org/commands/rclone_ncdu/
    Die meisten Cloud-Speicheranbieter zeigen nicht an, wie viel Speicherplatz einzelne Ordner und Unterordner tatsächlich belegen; genau dafür passt rclone ncdu

    • Ich mag ncdu, und die Integration mit rclone ist sehr praktisch
  • Ich nutze rclone täglich. In manchen Fällen hat es sshfs ersetzt
    Ich schiebe den $Archive-Share meines Heimservers zu rsync.net und hole Fotos aus meinem Google-Konto sowie den Konten meiner Frau, meiner Mutter, meines Vaters und der Kinder nach $Archive. Drei verschiedene Cloud-Konten für unterschiedliche $WORK-Kontexte sammle ich ebenfalls in $Archive und schicke sie dann zu rsync.net
    Das ist wirklich ein erstklassiges Tool

    • Nachdem ich jahrelang sshfs genutzt hatte, erfuhr ich, dass rclone entfernte Speicher als Dateisystem mounten kann, und seitdem nutze ich es gern
      https://rclone.org/commands/rclone_mount/
      Derzeit gibt es bei SSHFS niemanden, der aktiv und regelmäßig beiträgt, und es gibt mehrere bekannte Issues
      https://github.com/libfuse/sshfs#development-status
    • Wenn es um den Import aus Google Photos geht, ist Takeout meines Wissens die einzige Möglichkeit, sie in Originalqualität zu bekommen
    • rsync.net bietet auch einen etwas günstigeren Tarif an, wenn man nicht alle Funktionen und den Support braucht, sondern nur ein Borg-Archiv: https://www.rsync.net/products/borg.html
  • Für Backups ist auch Restic einen Blick wert. rclone und Restic lassen sich sehr gut zusammen einsetzen.
    https://www.bobek.cz/blog/2020/restic-rclone/

    • Der größte Nachteil von reinem Restic ist meist, dass man für die Verwaltung der Konfiguration eigene Shell-Skripte schreibt. Restic selbst hat dafür keine Funktion.
      Zum Glück gibt es https://github.com/creativeprojects/resticprofile, das dieses Problem löst.
    • Als zusätzliche Vorsichtsmaßnahme kann man auch erwägen, Backups append-only zu machen: https://ruderich.org/simon/notes/append-only-backups-with-re...
    • Das Restic-Team lehnt unverschlüsselte Backups „aus Sicherheitsgründen“ ab.
      Ich mag diesen Ansatz nicht, bei dem jemand davon ausgeht, dass sein eigenes Urteil unter allen Umständen das beste der Welt ist und alle anderen falschliegen.
      Ich weiß, was ich tue, und habe sehr gute Gründe, meine Backups nicht verschlüsseln zu wollen.
      Restic hätte standardmäßig verschlüsseln, aber einen Schalter wie --do-not-encrypt erlauben können.
      Die Arroganz der Entwickler ist erstaunlich, und deshalb werde ich Restic nicht verwenden. Schade, denn es ist eine sehr gute Backup-Lösung.
      Man sollte besser Borg ausprobieren.
    • Ich nutze beides.
      Mehrere Maschinen sichern stündlich mit Restic auf einen lokalen Server, und rclone synchronisiert diese Backups täglich nach S3.
      So reduziert sich die Zahl der Lese-/Schreiboperationen, Wiederherstellungen sind schneller, und man kann die S3-Zugriffsrechte auf eine einzige Maschine beschränken.
    • duplicacy sollte man sich ebenfalls ansehen: https://twitter.com/ArtemR/status/1159392251992145920
      https://github.com/gilbertchen/duplicacy
  • Rclone unterstützt viele Storage-Backends und bietet außerdem ein crypt-Backend, mit dem sich jedes Storage-Backend verschlüsseln lässt.
    https://rclone.org/overview/
    https://rclone.org/crypt/

  • Mir gefällt, dass auf der Homepage selbstbewusst hervorgehoben wird, dass immer eine Checksum-Verifizierung durchgeführt wird.
    Früher war ich überrascht, wie viele Tools diesen Schritt überspringen. Klar, es wird dadurch langsamer, aber wenn man zwischen Cloud-Speichern synchronisiert, ist es sehr wahrscheinlich, dass man Checksums wirklich prüfen möchte.

    • Das ganz oben stehende Testimonial „von Magie nicht zu unterscheiden“ wirkte etwas überheblich, aber ich prüfe gerade, ob es für diese außergewöhnliche Behauptung auch außergewöhnliche Belege gibt.
  • Jemand hat anhand des Open-Source-Clients die Proton Drive API reverse-engineered und ein Rclone-Plugin gebaut.
    Derzeit ist das die einzige Möglichkeit, Proton Drive unter Linux zu nutzen.

    • Ich wusste nicht, dass rclone Proton-Drive-Unterstützung hat. Ich habe mich angemeldet, als der Visionary-Tarif kurzzeitig wieder verfügbar war, also kann ich diesen Speicher jetzt wohl auch nutzen.
  • Rclone ist ein magisches Tool, das ich schon für viele unterschiedliche Zwecke genutzt habe.
    Als ich zuletzt nachgesehen habe, wurde entweder nicht das AWS SDK verwendet oder die Go-Version war eingeschränkt, sodass nicht alle Einstellungen aus .aws/config nutzbar waren.
    Allerdings ist es bei einem Allzweck-Tool einigermaßen verständlich, dass nicht jede Backend-Funktion unterstützt wird.
    In der Dokumentation gibt es viele Warnungen zu nicht mehr gewarteten Funktionen wie Caching und zu experimentellen Features. Die Warnungen an sich sind fair, aber sie machen die konkreten Einschränkungen nicht klar.

  • Ich mag Rclone wirklich. Es ist ein wertvolles Tool, wenn technisch weniger versierte Leute viele Daten in Consumer-/Business-Clouds abgelegt haben und man diese irgendwie auf einen Server bekommen muss, um sie weiterzuverarbeiten.
    Bei großen Datenmengen und schlechtem Heim-Internet eignet es sich auch hervorragend für direkte Cloud-zu-Cloud-Transfers. Wenn man rclone auf einem Server mit guter Netzwerkanbindung installiert und unter tmux laufen lässt, läuft der Job weiter, auch wenn mein eigener Rechner nicht eingeschaltet ist.

    • tmux ist nicht zwingend nötig.
      nohup /usr/bin/rclone ... &>/dev/null &
      Wenn man es so startet, läuft es auch nach dem Logout weiter.