Wie konfiguriere ich Rsync, um Windows-Netzwerkpfade (UNC-Pfade) zu synchronisieren?
- Grundlage: Zugriff auf UNC-Pfade unter Unix/Linux
- Rsync vom oder zum gemounteten Verzeichnis ausführen
- Spezielle Hinweise für Windows-Benutzer: Rsync unter Windows mit UNC-Pfaden
- Wichtige Tipps zum Umgang mit SMB/CIFS-Mounts für Rsync
- Zusammenfassung
Rsync ist ein sehr leistungsfähiges Werkzeug zur Dateisynchronisation, das typischerweise in Unix-ähnlichen Systemen verwendet wird. Wenn Sie Rsync nutzen möchten, um Daten zu oder von Windows-Netzwerkfreigaben (auch als UNC-Pfade bezeichnet, z.B. \\Server\Freigabe) zu synchronisieren, benötigen Sie einige Besonderheiten bei der Einrichtung und Konfiguration. Nachfolgend wird ausführlich erläutert, wie Sie das einrichten.
Grundlage: Zugriff auf UNC-Pfade unter Unix/Linux
UNC-Pfade sind ein Konzept aus dem Windows-Netzwerk, die nicht direkt vom Unix-Dateisystem unterstützt werden. Um unter Linux oder ähnlichen Systemen auf solche Freigaben zuzugreifen, müssen Sie die Freigaben zunächst mit einem Protokoll wie SMB/CIFS mounten. Dies bedeutet, dass Sie die Netzwerkfreigabe in einen lokalen Ordner einbinden, sodass Rsync sie anschließend synchronisieren kann, als ob es sich um einen normalen lokalen Pfad handelt.
Typischerweise wird hierzu das Kommando mount.cifs verwendet. Beispiel:
sudo mount -t cifs //Server/Freigabe /mnt/windows_share -o username=BENUTZER,password=PASSWORT,uid=1000,gid=1000Damit verbinden Sie die Freigabe mit dem Ordner /mnt/windows_share. Achten Sie darauf, dass der Nutzername und das Passwort korrekt sind und die passenden Rechte besitzen. Optional können Sie Anmeldedaten auch in eine separate Datei auslagern, um diese sicherer zu verwalten.
Rsync vom oder zum gemounteten Verzeichnis ausführen
Sobald das Windows-Netzlaufwerk über CIFS in ein lokales Verzeichnis eingehängt ist, verwenden Sie Rsync ganz normal mit diesem Pfad. Ein Beispiel für eine Synchronisation vom Windows-Share zu einem lokalen Verzeichnis:
rsync -av --progress /mnt/windows_share/ /home/benutzer/backup/Oder umgekehrt, um Daten zu kopieren:
rsync -av --progress /home/benutzer/daten/ /mnt/windows_share/Alle üblichen Rsync-Optionen funktionieren in dieser Situation, da es sich um ein reguläres Dateisystem handelt.
Spezielle Hinweise für Windows-Benutzer: Rsync unter Windows mit UNC-Pfaden
Wenn Sie Rsync auf einem Windows-System einsetzen, z. B. über Cygwin, WSL (Windows Subsystem for Linux) oder ähnliche Umgebungen, ist der Umgang mit UNC-Pfaden etwas anders. Der native Windows-Pfad \\Server\Freigabe muss in der Unix-ähnlichen Shell entsprechend referenziert werden.
In Cygwin oder WSL werden UNC-Pfade oft über einen Pfad wie /cygdrive/z (wenn Sie das Netzlaufwerk Z: gemappt haben) oder über speziellen Mounts zugänglich gemacht. Das direkte Verwenden von UNC-Pfaden in Rsync ohne vorheriges Mounten via Netzlaufwerk ist meist nicht möglich.
Deshalb ist es in Windows sinnvoll, die Netzwerkfreigabe vor der Nutzung mit Rsync als Netzlaufwerk in der Eingabeaufforderung oder im Explorer einzubinden (z. B. Laufwerk Z:). Anschließend greifen Sie unter Cygwin oder WSL mit dem entsprechenden gemappten Laufwerksbuchstaben zu, wie zum Beispiel:
rsync -av /mnt/c/Users/Benutzer/Daten/ /mnt/z/Backup/In der Standard-Windows-Eingabeaufforderung oder PowerShell funktioniert Rsync (wenn beispielsweise Teil von cwRsync) meist nur mit lokalen Pfaden oder Netzlaufwerksbuchstaben, nicht direkt mit UNC-Pfaden.
Wichtige Tipps zum Umgang mit SMB/CIFS-Mounts für Rsync
Bei der Verwendung von CIFS-Mounts unter Linux gibt es einige Besonderheiten, die Sie beachten sollten. Beispielsweise unterstützt CIFS unter Umständen keine alle Unix-Dateisystemattribute wie Berechtigungen oder Symlinks vollständig. Das kann Einfluss darauf haben, welche Rsync-Optionen sinnvoll sind.
Optionen wie --archive (Kurzform für -a) sind oft praktisch, sie kombinieren mehrere wichtige Schalter, aber wenn Sie Probleme mit Rechten haben, kann es notwendig sein, -a durch einzelne Optionen zu ersetzen oder zumindest --no-perms hinzuzufügen.
Beispiel eines Rsync-Befehls, der auf CIFS-Freigaben Rücksicht nimmt:
rsync -av --no-perms --progress /mnt/windows_share/ /home/benutzer/backup/Sie sollten außerdem darauf achten, dass das CIFS-Mounten mit entsprechenden Optionen erfolgt, die den Nutzer sowie Rechte richtig setzen, z. B. uid=, gid=, file_mode= und dir_mode=.
Zusammenfassung
Rsync selbst unterstützt UNC-Pfade nicht direkt, da sie kein Unix-Dateisystem sind. Um Rsync für Windows-Netzwerkpfade zu verwenden, müssen Sie die Freigaben zuerst als CIFS/SMB-Share in Ihr Linux/Unix-System einhängen. Danach nutzen Sie Rsync ganz normal mit dem gemounteten Verzeichnis. Unter Windows ist es sinnvoll, die Freigabe als Netzlaufwerk einzubinden und innerhalb von Cygwin, WSL oder anderen Bash-Umgebungen über das gemappte Laufwerk zu arbeiten. Achten Sie dabei auf die richtigen Mount-Optionen und ggf. auf Rsync-Optionen, die mit SMB/CIFS kompatibel sind.
