# rclone — Cloud-Speicher synchronisieren und sichern

> Praxis-Guide zu rclone — Dateien auf über 70 Cloud-Backends wie S3, Google Drive, Dropbox und SFTP verwalten, synchronisieren und sichern.

Source: https://www.jpkc.com/db/cheatsheets/backup-sync/rclone/

<!-- PROSE:intro -->
rclone ist das Schweizer Taschenmesser für Cloud-Speicher: ein einziges Kommandozeilen-Werkzeug, mit dem du Dateien über mehr als 70 Backends hinweg verwaltest – von S3 und Google Drive über Dropbox bis SFTP und Backblaze B2. Du kopierst, synchronisierst, verschlüsselst und mountest entfernten Speicher mit denselben vertrauten Befehlen, egal welcher Anbieter dahintersteckt. Dieser Guide führt dich durch die wichtigsten Kommandos für Konfiguration, Backup und Datenabgleich im Alltag.
<!-- PROSE:intro:end -->

## Konfiguration

`rclone config` — Interaktiver Assistent zum Hinzufügen, Bearbeiten oder Entfernen von Remotes.

```bash
rclone config
```

`rclone config show` — Gibt alle konfigurierten Remotes samt ihren Einstellungen aus.

```bash
rclone config show
```

`rclone config show <remote>` — Gibt die Konfiguration eines einzelnen Remotes aus.

```bash
rclone config show gdrive
```

`rclone config file` — Zeigt den Pfad zur rclone-Konfigurationsdatei.

```bash
rclone config file
```

`rclone listremotes` — Listet die Namen aller konfigurierten Remotes auf.

```bash
rclone listremotes
```

`rclone config delete <remote>` — Löscht ein konfiguriertes Remote.

```bash
rclone config delete old-remote
```

## Dateien & Verzeichnisse auflisten

`rclone ls <remote>:<path>` — Listet alle Dateien in einem Remote-Pfad mit Größenangaben auf.

```bash
rclone ls gdrive:backups
```

`rclone lsd <remote>:<path>` — Listet nur Verzeichnisse auf.

```bash
rclone lsd gdrive:
```

`rclone lsl <remote>:<path>` — Listet Dateien mit Größe und Änderungsdatum auf.

```bash
rclone lsl s3:mybucket/uploads
```

`rclone lsf <remote>:<path>` — Listet Dateien und Verzeichnisse in einem leicht auswertbaren Format auf (eines pro Zeile).

```bash
rclone lsf gdrive:photos
```

`rclone lsjson <remote>:<path>` — Listet Dateien als JSON-Array mit Metadaten auf.

```bash
rclone lsjson gdrive:photos | jq '.[].Name'
```

`rclone ncdu <remote>:<path>` — Interaktiver Browser für den Speicherverbrauch (wie ncdu) für Remote-Speicher.

```bash
rclone ncdu gdrive:
```

## Kopieren & Synchronisieren

`rclone copy <source> <destination>` — Kopiert Dateien von der Quelle zum Ziel. Löscht keine Dateien im Ziel.

```bash
rclone copy /home/user/photos gdrive:photos
```

`rclone copy <remote>:<path> <localpath>` — Lädt Dateien von einem Remote in ein lokales Verzeichnis herunter.

```bash
rclone copy gdrive:backups /tmp/restore
```

`rclone sync <source> <destination>` — Macht das Ziel identisch zur Quelle und löscht dabei überzählige Dateien im Ziel. Destruktiv – anders als `rclone copy`; einen Lauf vorab immer mit `--dry-run` testen.

```bash
rclone sync /home/user/docs gdrive:docs
```

`rclone sync <source> <destination> --backup-dir <dir>` — Verschiebt gelöschte/ersetzte Dateien in ein Backup-Verzeichnis, statt sie zu löschen.

```bash
rclone sync /home/user gdrive:home --backup-dir gdrive:home-backups/$(date +%F)
```

`rclone bisync <source> <destination>` — Bidirektionale Synchronisation: überträgt Änderungen in beide Richtungen.

```bash
rclone bisync /home/user/docs gdrive:docs
```

`rclone move <source> <destination>` — Verschiebt Dateien von der Quelle zum Ziel. Löscht die Quelldateien nach der Übertragung.

```bash
rclone move /tmp/uploads s3:mybucket/uploads
```

## Einzeldatei-Operationen

`rclone copyto <source-file> <dest-file>` — Kopiert eine einzelne Datei mit explizitem Zieldateinamen.

```bash
rclone copyto backup.tar.gz s3:mybucket/archive/backup-2024-01-15.tar.gz
```

`rclone moveto <source-file> <dest-file>` — Verschiebt eine einzelne Datei mit explizitem Zieldateinamen.

```bash
rclone moveto /tmp/export.csv gdrive:exports/report.csv
```

`rclone cat <remote>:<file>` — Gibt den Inhalt einer Remote-Datei auf stdout aus.

```bash
rclone cat gdrive:config/settings.json
```

`rclone rcat <remote>:<file>` — Leitet stdin in eine Remote-Datei (Upload-Stream).

```bash
tar czf - /home/user | rclone rcat gdrive:backups/home.tar.gz
```

## Löschen & Aufräumen

`rclone delete <remote>:<path>` — Löscht alle Dateien in einem Remote-Pfad; die Verzeichnisse bleiben. Destruktiv – vorab mit `--dry-run` prüfen.

```bash
rclone delete gdrive:temp
```

`rclone purge <remote>:<path>` — Löscht ein Verzeichnis samt seinem gesamten Inhalt. Destruktiv und nicht umkehrbar.

```bash
rclone purge gdrive:old-backups/2020
```

`rclone deletefile <remote>:<file>` — Löscht eine einzelne Remote-Datei.

```bash
rclone deletefile s3:mybucket/old-export.csv
```

`rclone cleanup <remote>:` — Räumt alte Versionen und den Papierkorb auf. Das Verhalten hängt vom Backend ab.

```bash
rclone cleanup gdrive:
```

`rclone rmdir <remote>:<path>` — Entfernt ein leeres Verzeichnis.

```bash
rclone rmdir gdrive:empty-folder
```

`rclone rmdirs <remote>:<path>` — Entfernt alle leeren Verzeichnisse unterhalb des angegebenen Pfads.

```bash
rclone rmdirs gdrive:archive
```

## Filter & Ausschlüsse

`rclone copy <source> <dest> --exclude <pattern>` — Schließt Dateien aus, die auf ein Muster passen.

```bash
rclone copy /home/user gdrive:home --exclude 'node_modules/**'
```

`rclone copy <source> <dest> --include <pattern>` — Überträgt nur Dateien, die auf ein Muster passen.

```bash
rclone copy /home/user/docs gdrive:docs --include '*.pdf'
```

`rclone copy <source> <dest> --filter-from <file>` — Liest Ein-/Ausschlussregeln aus einer Datei. Zeilen mit + schließen ein, Zeilen mit - aus.

```bash
rclone copy /home/user gdrive:home --filter-from ~/.rclonefilter
```

`rclone copy <source> <dest> --min-size <size>` — Überträgt nur Dateien, die größer als die angegebene Größe sind.

```bash
rclone copy gdrive:downloads /tmp --min-size 10M
```

`rclone copy <source> <dest> --max-age <age>` — Überträgt nur Dateien, die jünger als das angegebene Alter sind.

```bash
rclone copy /var/log s3:logs --max-age 24h
```

`rclone copy <source> <dest> --exclude-if-present <filename>` — Überspringt Verzeichnisse, die die angegebene Datei enthalten (z. B. .rcloneignore).

```bash
rclone copy /home/user gdrive:home --exclude-if-present .nobackup
```

## Performance & Übertragungsoptionen

`rclone copy <source> <dest> --transfers <n>` — Anzahl der parallel laufenden Dateiübertragungen (Standard: 4).

```bash
rclone copy /data s3:mybucket --transfers 16
```

`rclone copy <source> <dest> --checkers <n>` — Anzahl der parallel laufenden Checker (Standard: 8). Checker prüfen den Dateizustand vor der Übertragung.

```bash
rclone copy /data s3:mybucket --checkers 32
```

`rclone copy <source> <dest> --bwlimit <rate>` — Begrenzt die Bandbreite. Unterstützt Raten wie 1M, 512k oder einen Zeitplan.

```bash
rclone copy /home/user gdrive:home --bwlimit 5M
```

`rclone copy <source> <dest> --checksum` — Nutzt Prüfsummen statt der Änderungszeit, um Unterschiede zwischen Dateien zu erkennen.

```bash
rclone copy /important-data s3:mybucket --checksum
```

`rclone copy <source> <dest> --dry-run` — Zeigt nur an, was übertragen würde, ohne tatsächlich etwas zu tun.

```bash
rclone sync /home/user gdrive:home --dry-run
```

`rclone copy <source> <dest> -P` — Zeigt den Übertragungsfortschritt in Echtzeit an.

```bash
rclone copy /home/user gdrive:home -P
```

## Einhängen (Mount)

`rclone mount <remote>:<path> <mountpoint>` — Hängt ein Remote als lokales Dateisystem ein (erfordert FUSE/WinFsp).

```bash
rclone mount gdrive: ~/gdrive
```

`rclone mount <remote>:<path> <mountpoint> --read-only` — Hängt im schreibgeschützten Modus ein.

```bash
rclone mount s3:mybucket /mnt/s3 --read-only
```

`rclone mount <remote>:<path> <mountpoint> --daemon` — Hängt im Hintergrund als Daemon ein.

```bash
rclone mount gdrive: ~/gdrive --daemon
```

`rclone mount <remote>:<path> <mountpoint> --vfs-cache-mode full` — Aktiviert den vollständigen VFS-Cache für bessere Performance bei Anwendungen mit wahlfreiem Zugriff.

```bash
rclone mount gdrive: ~/gdrive --vfs-cache-mode full
```

## Bereitstellen (Serve)

`rclone serve http <remote>:<path> --addr :<port>` — Stellt ein Remote über HTTP bereit.

```bash
rclone serve http gdrive:public --addr :8080
```

`rclone serve webdav <remote>:<path> --addr :<port>` — Stellt ein Remote über WebDAV bereit.

```bash
rclone serve webdav s3:mybucket --addr :8088
```

`rclone serve sftp <remote>:<path> --addr :<port>` — Stellt ein Remote über SFTP bereit.

```bash
rclone serve sftp gdrive: --addr :2022
```

## Prüfsummen & Verifikation

`rclone check <source> <destination>` — Prüft, ob Quell- und Zieldateien übereinstimmen (nutzt Prüfsummen, falls verfügbar, sonst Größe + Änderungszeit).

```bash
rclone check /home/user/photos gdrive:photos
```

`rclone md5sum <remote>:<path>` — Berechnet MD5-Prüfsummen aller Dateien in einem Remote-Pfad.

```bash
rclone md5sum gdrive:docs
```

`rclone sha1sum <remote>:<path>` — Berechnet SHA-1-Prüfsummen aller Dateien in einem Remote-Pfad.

```bash
rclone sha1sum s3:mybucket/uploads
```

`rclone hashsum <algorithm> <remote>:<path>` — Berechnet Prüfsummen mit dem angegebenen Algorithmus (MD5, SHA-1, SHA-256 usw.).

```bash
rclone hashsum SHA-256 gdrive:important
```

## Praktische Rezepte

`rclone sync /home/user gdrive:home --exclude '.cache/**' --exclude 'node_modules/**' -P` — Synchronisiert das Home-Verzeichnis zu Google Drive, schließt Cache und node_modules aus, mit Fortschrittsanzeige.

```bash
rclone sync /home/user gdrive:home --exclude '.cache/**' --exclude 'node_modules/**' -P
```

`rclone copy <source> <dest1>: && rclone copy <source> <dest2>:` — Sichert zur Redundanz auf zwei verschiedene Cloud-Anbieter.

```bash
rclone copy /data gdrive:backup && rclone copy /data b2:mybucket/backup
```

`tar czf - <path> | rclone rcat <remote>:<file.tar.gz>` — Erzeugt im Vorbeigehen ein tar-Archiv und streamt es direkt zu einem Remote.

```bash
tar czf - /var/www | rclone rcat s3:mybucket/www-$(date +%F).tar.gz
```

<!-- PROSE:outro -->
## Fazit

rclone nimmt dir die anbieterspezifischen Eigenheiten ab: Einmal eingerichtet, sprichst du jedes Cloud-Backend mit denselben Befehlen an. Merke dir den Unterschied zwischen `copy` (ergänzt nur) und `sync` (macht das Ziel identisch und löscht überzählige Dateien) – und teste destruktive Läufe grundsätzlich erst mit `--dry-run`. So wird rclone zum verlässlichen Rückgrat für Backups, Migrationen und Datenabgleich.

## Weiterführende Links

- [rclone – offizielle Dokumentation](https://rclone.org/docs/) – vollständige Referenz zu allen Kommandos, Flags und Backends (englisch)
- [rclone – GitHub-Projekt](https://github.com/rclone/rclone) – Quellcode, Releases und Issue-Tracker (englisch)
<!-- PROSE:outro:end -->

## Verwandte Kommandos

- [borgbackup](https://www.jpkc.com/db/cheatsheets/backup-sync/borgbackup/) – deduplizierendes, verschlüsseltes Backup-Programm
- [duplicity](https://www.jpkc.com/db/cheatsheets/backup-sync/duplicity/) – verschlüsselte, inkrementelle Backups auf viele Speicherziele
- [rdiff-backup](https://www.jpkc.com/db/cheatsheets/backup-sync/rdiff-backup/) – inkrementelle Backups mit umkehrbarem Verlauf

