rsync ist ein in der Linux-/Unixwelt bewährtes Kommandozeilenprogramm, mit dem sich zwei Verzeichnisse synchronisieren lassen. Es hat den großen Vorteil, daß bei der Synchronisierung nur die im Quellverzeichnis veränderten oder neu hinzugekommenen Dateien und Verzeichnisse ins das Zielverzeichnis kopiert werden. Dies spart insbesondere bei großen Dateiarchiven enorm Zeit. rsync verfügt über eine große Zahl von Optionen, die auf der Kommandozeile angegeben werden. Es kann sowohl lokal auf den Rechner Verzeichnisse synchronisieren als auch per ssh über das Netzwerk.

1. Rsync einrichten

Um rsync auch unter Windows nutzen zu können, müssen die Cygwin-Tools installiert werden. Diese stellen unter Windows ein Terminal mit den wichtigsten Linux- bzw. Unix-Befehlen zur Verfügung. Dazu geht man auf die Webseite www.cygwin.com und lädt das Setup-Programm herunter (Der Link hierzu befindet sich unter "Current Cygwin DLL version"). Es gibt eine 64-Bit- und eine 32-Bit-Version.

Anschließend startet man das Setup-Programm und klickt beim ersten Dialog-Fenster auf "Weiter".

Im nächsten Schritt wählt man "Install from Internet".

Das "Root Directory" sollte auf "C:\cygwin" belassen werden.

Als "Local Package Directory" trägt man "C:\cygwin\packages" ein.

Bei der "Internet Connection" wählt man "Direct Connection".

Als Download-Server wählt man in Deutschland wegen der höheren Übertragungsrate am besten einen deutschen Server, z.B. ftp.gwdg.de

Danach wird eine Paketliste vom ausgewählten Server heruntergeladen und in einer Baumstruktur angezeigt.
Hier klickt man bei "Net" auf das Pluszeichen und bei Rsync auf den ringförmigen Pfeil, so dass daneben die Version-Nummer erscheint. Ein gleiches führt man für openssh durch (openssh befindet sich ebenfalls unter Net, etwas weiter oben).

Ein Klick auf weiter führt die Installation aus. Abschließend wird noch gefragt, ob man ein Symbol ("Icon") für das Cygwin-Terminal auf dem Desktop und im Startmenü haben will. Dies kann man bejahen. Damit ist die Installation abgeschlossen.

2. Batchdatei anlegen

2.1. Sicherung eines Verzeichnis auf ein anderes Laufwerk

Für die Spiegelung eines Verzeichnisses auf ein anderes Laufwerk, z.B. eine Wechselplatte, legt man mit einem Texteditor am besten eine Batchdatei mit dem Namen "backup.cmd" an. Sie sollte folgenden Inhalt haben:

@ECHO OFF
SET SOURCE="/cygdrive/c/users/"
SET TARGET="/cygdrive/e/backups/"
SET EXCLUDES="--exclude-from=/cygdrive/c/cygwin/etc/rsync-exclude.txt"
c:\cygwin\bin\rsync.exe -av --delete  --chmod=u+rwX,o-rwX,g-rwX %EXCLUDES% %SOURCE% %TARGET%
PAUSE

Download: backup.cmd

In diesem Skript werden einige Variable gesetzt:

In der vorletzten Zeile des Scripts werden die Variablen an rsync übergeben. Startet man das Skript durch Doppelklick auf die Datei, werden die Verzeichnisse synchronisiert.

2.2 Batchdatei für Sicherung über das Netzwerk

Die Skriptdatei für die Sicherung über das Netzwerk auf einen Server unterscheidet sich nur gering von der Sicherung auf ein anderes Laufwerk. Man legt mit einem Texteditor am besten eine Batchdatei mit dem Namen "netbackup.cmd" an. Sie sollte folgenden Inhalt haben:

@ECHO OFF
SET SSHPATH="-e /cygdrive/c/cygwin/bin/ssh.exe"
SET SOURCE="/cygdrive/c/users/"
SET TARGET="user@server:/home/user/backups/Win7"
SET EXCLUDES="--exclude-from=/cygdrive/c/cygwin/etc/rsync-exclude.txt"
c:\cygwin\bin\rsync.exe -av --delete  --chmod=u+rwX,o-rwX,g-rwX %EXCLUDES% %SSHPATH% %SOURCE% %TARGET%
PAUSE

Download: netbackup.cmd

In diesem Skript werden einige Variable gesetzt:

Startet man nun das Skript durch Doppelklick auf die angelegte Datei, wird man nach dem Passwort auf dem Server gefragt. Nach der Eingabe des Passwortes beginnt die Synchronisation.

Für das passwortlose Verbinden mit externen Servern kann mittels ssh-keygen ein SSH-Schlüssel-Paar angelegt werden.

3. Weiterführende Informationen

Homepage von rsync: rsync.samba.org