Website-Suche

Rclone – Dateiverzeichnisse aus verschiedenen Cloud-Speichern synchronisieren


Rclone ist ein in der Go-Sprache geschriebenes Befehlszeilenprogramm, das zum Synchronisieren von Dateien und Verzeichnissen von verschiedenen Cloud-Speicheranbietern wie Amazon Drive, Amazon S3, Backblaze B2, Box, Ceph, DigitalOcean Spaces, Dropbox, verwendet wird. FTP, Google Cloud Storage, Google Drive usw.

Wie Sie sehen, unterstützt es mehrere Plattformen, was es zu einem nützlichen Tool zum Synchronisieren Ihrer Daten zwischen Servern oder mit einem privaten Speicher macht.

Rclone verfügt über die folgenden Funktionen

  • MD5/SHA1-Hash-Prüfungen zu jeder Zeit, um die Integrität der Datei sicherzustellen.
  • Zeitstempel bleiben in den Dateien erhalten.
  • Teilweise Synchronisierungen werden auf Basis ganzer Dateien unterstützt.
  • Kopiermodus für neue oder geänderte Dateien.
  • Einseitige Synchronisierung, um ein Verzeichnis identisch zu machen.
  • Prüfmodus – Hash-Gleichheitsprüfung.
  • Kann mit und vom Netzwerk synchronisiert werden, z. B. zwei verschiedene Cloud-Konten.
  • (Verschlüsselungs-)Backend.
  • (Cache-)Backend.
  • (Union) Backend.
  • Optionale FUSE-Halterung (RClone-Halterung).

So installieren Sie rclone in Linux-Systemen

Die Installation von rclone kann auf zwei verschiedene Arten abgeschlossen werden. Am einfachsten ist es, das Installationsskript zu verwenden, indem Sie den folgenden Befehl ausführen.

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

Dieses Skript überprüft den Betriebssystemtyp, auf dem es ausgeführt wird, und lädt das zu diesem Betriebssystem gehörende Archiv herunter. Dann extrahiert es das Archiv und kopiert die Binärdatei rclone nach /usr/bin/rclone und erteilt 755-Berechtigungen für die Datei.

Am Ende, wenn die Installation abgeschlossen ist, sollten Sie die folgende Zeile sehen:

Rclone v1.44 has successfully installed.
Now run “rclone config” for setup, Check https://rclone.org/docs/ for  more details.

Die zweite Möglichkeit, rclone zu installieren, besteht darin, die folgenden Befehle einzugeben.

curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64

Kopieren Sie nun die Binärdatei und erteilen Sie ihr ausführbare Berechtigungen.

cp rclone /usr/bin/
chown root:root /usr/bin/rclone
chmod 755 /usr/bin/rclone

Installieren Sie die rclone-Manpage.

mkdir -p /usr/local/share/man/man1
cp rclone.1 /usr/local/share/man/man1/
mandb 

So konfigurieren Sie rclone in Linux-Systemen

Als Nächstes müssen Sie die rclone config ausführen, um Ihre Konfigurationsdatei zu erstellen. Es wird zur Authentifizierung für die zukünftige Verwendung von rclone verwendet. Um das Konfigurationssetup auszuführen, führen Sie den folgenden Befehl aus.

rclone config

Sie sehen die folgende Eingabeaufforderung:

2018/11/13 11:39:58 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>

Die Optionen sind wie folgt:

  • n) – Neue Remote-Verbindung erstellen
  • s) – Legen Sie einen Passwortschutz für Ihre Konfiguration fest
  • q) – Konfiguration verlassen

Für dieses Tutorial drücken wir "n" und erstellen eine neue Verbindung. Sie werden aufgefordert, der neuen Verbindung einen Namen zu geben. Anschließend werden Sie aufgefordert, den zu konfigurierenden Speichertyp auszuwählen:

Ich habe nach Verbindung „Google“ benannt und „Google Drive“ ausgewählt, das unter der Nummer 12 steht. Die restlichen Fragen können Sie beantworten, indem Sie einfach die Standardantwort belassen, bei der es sich um ein leeres „ “ handelt.

Wenn Sie dazu aufgefordert werden, können Sie „Autoconfig“ auswählen, wodurch alle erforderlichen Informationen generiert werden, um eine Verbindung zu Ihrem Google Drive herzustellen und rclone-Berechtigungen zu erteilen Daten von Google Drive verwenden.

Der Vorgang sieht in etwa so aus:

Google Application Client Secret - leave blank normally.
client_secret>
Scope that rclone should use when requesting access from drive.
Choose a number from below, or type in your own value
 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
ID of the root folder - leave blank normally.  Fill in to access "Computers" folders. (see docs).
root_folder_id> 
Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
service_account_file>
Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine or Y didn't work
y) Yes
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code
Configure this as a team drive?
y) Yes
n) No
y/n> n
--------------------
[remote]
client_id = 
client_secret = 
scope = drive
root_folder_id = 
service_account_file =
token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2018-11-13T11:57:58.955387075Z"}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y

So verwenden Sie rclone in Linux-Systemen

Rclone verfügt über eine ziemlich lange Liste verfügbarer Optionen und Befehle, mit denen es verwendet werden kann. Wir werden versuchen, einige der wichtigeren zu behandeln:

Remote-Verzeichnis auflisten

rclone lsd <remote-dir-name>:

Daten mit rclone kopieren

rclone copy source:sourcepath dest:destpath

Beachten Sie, dass, wenn rclone Duplikate findet, diese ignoriert werden:

Daten mit rclone synchronisieren

Wenn Sie einige Daten zwischen Verzeichnissen synchronisieren möchten, sollten Sie rclone mit dem Befehl sync verwenden.

Der Befehl sollte so aussehen:

rclone sync source:path dest:path [flags]

In diesem Fall wird die Quelle mit dem Ziel synchronisiert und nur das Ziel geändert! Diese Methode überspringt unveränderte Dateien. Da der Befehl zu Datenverlust führen kann, können Sie ihn mit „–dry-run“ verwenden, um zu sehen, was genau kopiert und gelöscht wird.

Verschieben Sie Daten mit rclone

Um Daten zu verschieben, können Sie rclone mit dem Befehl move verwenden. Der Befehl sollte so aussehen:

rclone move source:path dest:path [flags]

Der Inhalt der Quelle wird verschoben (gelöscht) und am ausgewählten Ziel platziert.

Weitere nützliche rclone-Befehle

So erstellen Sie ein Verzeichnis am Ziel.

rclone mkdir remote:path

Um ein Verzeichnis zu entfernen.

rclone rmdir remote:path

Überprüfen Sie, ob die Dateien auf Quelle und Ziel übereinstimmen:

rclone check source:path dest:path

Dateien löschen:

rclone delete remote:path

Jeder rclone-Befehl kann mit unterschiedlichen Flags verwendet werden und verfügt über ein eigenes Hilfemenü. Beispielsweise können Sie mit der Löschoption ein selektives Löschen durchführen. Nehmen wir an, Sie möchten Dateien löschen, die größer als 100 MB sind. Der Befehl würde so aussehen.

rclone --min-size 100M delete remote:path

Es wird dringend empfohlen, das Handbuch und die Hilfe für jeden Befehl zu lesen, um rclone optimal nutzen zu können. Die vollständige Dokumentation von rclone ist verfügbar unter: https://rclone.org/

Abschluss

rclone ist ein leistungsstarkes Befehlszeilendienstprogramm, das Sie bei der Datenverwaltung zwischen verschiedenen Cloud-Speicheranbietern unterstützt. Während wir in diesem Artikel nur an der Oberfläche der rclone-Funktionen gekratzt haben, lässt sich damit noch viel mehr erreichen, insbesondere wenn es (zum Beispiel) in Kombination mit dem Cron-Dienst verwendet wird.