Es kommt immer wieder vor, dass ich Dateien von Server A nach Server B kopieren oder verschieben muss – sei es, weil nachts ein Backup laufen soll oder weil ich gerade einen neuen Server einrichte. Auch auf meinem lokalen Rechner verschiebe ich regelmäßig Daten, zum Beispiel für tägliche Backups. Dafür nutze ich sehr gerne rclone – ein kleines, aber mächtiges Werkzeug, mit dem ich genau steuern kann, welche Dateien synchronisiert werden und welche nich
Wofür ich rclone einsetze
rclone ist ein Kommandozeilen-Tool, das sehr gerne zum sychronisieren von Verzeichnis entweder lokal oder auf einen externen Speicher genutzt wird. Es unterstützt nicht nur lokale Ordner, sondern auch viele Cloud-Dienste wie Google Drive, S3, WebDAV, FTP und viele andere. Damit kann ich Daten synchronisieren, kopieren, verschieben oder auch direkt in mein Dateisystem einhängen. Besonders gefällt mir, dass ich sehr flexibel filtern kann, welche Dateien rclone mitnimmt – perfekt, wenn ich nur einen bestimmten Ordner sichern möchte.
Ich nutze es beispielsweise, um meine Backups auf einen externen SFTP Server zu kopieren.
Dateien und Ordner gezielt ein- oder ausschließen
Wenn ich nicht den ganzen Inhalt eines Ordners sichern möchte, nutze ich die Filterfunktionen.
Mit --exclude
kann ich Dateien einfach ausschließen. So werden z. B. alle .bak
-Dateien übersprungen:
rclone copy /quelle remote:ziel --exclude "*.bak"
Wenn ich viele Ausschlussregeln habe, packe ich sie in eine Datei und rufe sie mit --exclude-from
auf:
rclone copy /quelle remote:ziel --exclude-from excludes.txt
In meiner Datei excludes.txt stehen z. B. solche Einträge:
*.bak
Thumbs.db
Möchte ich nur bestimmte Dateitypen mitnehmen, verwende ich --include
. Damit kopiere ich zum Beispiel nur Fotos:
rclone copy /quelle remote:ziel --include "*.jpg" --include "*.png"
Das ist praktisch, weil alles andere automatisch ausgeschlossen wird.
Für komplexere Szenarien nutze ich --filter-from
. Ich definiere Regeln in einer Datei und kann so genau festlegen, was synchronisiert wird:
Dateien ausschliessen mit der filter.txt
+ *.jpg
+ /Spezialordner/**
- *.tmp
- *
Diese Regeln sorgen dafür, dass nur JPG-Dateien und der Ordner „Spezialordner“ synchronisiert werden. Alles andere wird ignoriert.
Aufruf:
rclone sync /quelle remote:ziel --filter-from filter.txt
Nur bestimmte Ordner sichern
Wenn ich gezielt nur einzelne Ordner synchronisieren möchte, geht das ebenfalls mit --filter-from
. Eine einfache Regeldatei sieht so aus:
folders.txt
+ /FolderA/**
+ /FolderB/**
- *
Mit diesem Befehl werden ausschließlich die Ordner FolderA
und FolderB
kopiert:
rclone copy /quelle remote:ziel --filter-from folders.txt
So stelle ich sicher, dass keine anderen Daten versehentlich übertragen werden.
Zeitstempel-Probleme bei Bildern
Eine Sache, die mich anfangs irritiert hat: rclone arbeitet mit Zeitstempeln, und manche Cloud-Dienste speichern diese nur auf Sekunden genau. Lokale Dateien haben aber oft Millisekunden-Genauigkeit. Das kann dazu führen, dass rclone denkt, eine Datei hätte sich geändert, und sie erneut hochlädt.
Ich habe dafür ein paar Lösungen gefunden:
-
Mit
--modify-window 1s
gebe ich rclone einen Spielraum von einer Sekunde:rclone sync /quelle remote:ziel --modify-window 1s
-
Noch besser: Ich lasse rclone die Inhalte per Checksummen vergleichen, wenn mein Ziel-Backend das unterstützt:
rclone sync /quelle remote:ziel --checksum
-
Bei Fotos ist außerdem wichtig: Dienste wie Google Photos nutzen den EXIF-Zeitstempel in den Bildern – nicht den Dateizeitstempel.
-
Falls ich rclone als „mount“ nutze, hilft mir das VFS-Caching, aber ich muss bedenken, dass Änderungen im Cache manchmal nicht sofort sichtbar sind.
Meine liebsten rclone-Befehle
# Nur .jpg und .png synchronisieren
rclone copy /local remote:backup --include "*.jpg" --include "*.png"
# Ganze Ordner sichern, aber bestimmte Dateien ausschließen
rclone sync /local remote:backup --filter-from filter.txt
# Dokumente von Nextcloud Ordner in den Paperless Consume Ordner kopieren
rclone sync /home/nextcloud/data/lars/files/Dokumente/ --include "*.pdf" --include "*.docx" "/opt/paperless-ngx/consume
Mein Resümee
Ich finde, rclone ist ein großartiges Werkzeug, um Backups zu automatisieren und Daten flexibel zu synchronisieren – egal ob auf dem Server oder lokal. Mit den vielen Filteroptionen kann ich genau steuern, welche Inhalte ich mitnehme. Und auch die kleinen Stolpersteine wie Zeitstempel-Probleme lassen sich mit den richtigen Flags gut in den Griff bekommen.
Könntest du das Mounten mit rclone genauer beleuchten? Wie reagiert er auf Laptops wenn der Deckel zugeklappt wird und somit in den Standby geht oder wenn die Internet Verbindung verloren geht. wie reagieren Anwendungen die dann darauf zugreifen? Könnte ich so beim Starten Anwendungen auf Netzwerkdaten zugreifen lassen obwohl gerade kein Internet da ist? (templates/vorlagen)
Das sind alles Probleme, die mich bei Regulärem mounten in KDE oder Gnome zur Verzweiflung treiben und die Verwendung von Linux auf dem Laptop einschränkt.
Hi,
das kann ich genauer beschreiben, dürfte aber kein Problem sein wenn ein Ordner dauerhaft eingebunden werden soll, muss dies in die /etc/fstab eingetragen werden.
Gruß
Lars
Automatisch verschlüsseln im Remote Laufwerk kann es auch. Auch schön, dass man sich proprietäre Software der Cloud-Anbieter spart. Einfach ein großartiges Tool.
Ja das Tool ist echt klasse. Man muss nur wissen wie :-)
All meine VM's werden mit rclone gebackuped auf unterschiedlichen Servern - rclone ist für mich nicht mehr weg zu denken.
Für mich auch nicht. Einfach unverzichtbar.
Servus,
auf den ersten Blick dachte ich gleich, dass für ich sowas meist rsync nehme. Bietet rclone irgendwelche gravierenden Vorteile?
Gruß Marcel
Vorteil vielleicht, dass es nach meiner Meinung einfacher ist, externe Speicher wie S3 Storages, Onedrive, GoogleDrive usw. einzubinden.
Mit "remote:" ist der FQDN des Zielservers gemeint? Ihr schreibt, daß rclone eine Vielzahl von Protokollen unterstützt. Ist es so, daß standardmäßig SFTP benutzt wird wenn kein Verfahren angegeben ist? Was ist mit FTPS, Webdav usw. ? Wäre das dann etwa davs://kennung:pwd@server?
Nein, der Name wie beispielweise Google Drive eingebunden ist. Den namen kann man frei wählen. Siehe Hier.
https://drive.google.com/file/d/1xYWKIGrfKhbtjwhzXwW69eOsr4XS98pu/view?usp=sharing