Free cookie consent management tool by TermsFeed Policy Generator

/dev/blog/ID10T

Rsync als Dienst auf Windows einrichten

Administration, Windows Comments

Advertisement

Zur Sicherung unserer Windowsserver setzen wir unter anderem auch rsync ein, ein Programm, das aus der Linux Welt bekannt ist. Um dieses auf Windows laufen zu lassen ist etwas Arbeit nötig. Da ich letzte Woche feststellen musste, dass unsere bisher verwendete Version nicht auf 64-Bit Versionen von Windows läuft, habe ich hier eine Anleitung geschrieben, wie man ein aktuelles rsync-Paket bastelt und dieses dann auf dem Server als Dienst laufen lässt. Ganz unten habe ich das fertige Paket dann auch angehängt.

Teile dieser Anleitung basieren auf der schon einige Jahre alten Anleitung von Brent Norris.

Voraussetzungen

Wir benötigen:

Advertisement

Umsetzung

Nun geht's los.

  1. Kopiert die oben genannten Dateien alle in den Ordner, von dem ihr den Dienst ausführen wollt, bei mir ist es das Verzeichnis C:\Program Files (x86)\rsyncd.
  2. Öffnet eine CMD und wechselt in euer gewünschtes Verzeichnis:
    cd ":\Program Files (x86)\rsyncd\"
  3. Gebt hiernach diesen Befehl in der CMD ein:
    instsrv.exe rsyncd "C:\Program Files (x86)\rsyncd\srvany.exe"

    Dabei müsst ihr den Pfad natürlich entsprechend auf euren Pfad ändern.

  4. Nun haben wir schonmal einen rsyncd-Dienst in der Diensteverwaltung eingetragen, dieser ist aber noch nicht funktionsfähig. Als nächstes müssen wir den Dienst mit entsprechenden Konfigurationen füttern. Dazu brauchen wir einige Regeinträge. Entweder legt ihr diese Per Hand an oder ihr kopiert euch den unten stehenden Code in eine .reg-Datei und führt diese aus. Auch hier müssen die Pfade wieder entsprechend angepasst werden. Beachtet, dass die Pfade in einer Regdatei doppelte Backslashes haben, in einem händisch erstellten Registryeintrag aber nur einzelne.
    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\rsyncd\Parameters]
    "AppDirectory"="\"C:\Program Files (x86)\rsyncd\""
    "Application"="C:\Program Files (x86)\rsyncd\rsync.exe"
    "AppParameters"="--config=\"C:\Program Files (x86)\rsyncd\rsyncd.conf\" --daemon --no-detach"
  5. Nun ist der Dienst quasi funktionsfähig, wir brauchen lediglich noch die rsyncd.conf im Diensteverzeichnis erstellen, die wir eben bei den AppParameters angegeben haben.
    Die könnte etwa so aussehen:

    use chroot = false
    strict modes = false
    log file = C:\Program Files (x86)\rsyncd\rsyncd.log
    
    [backup]
    path = /cygdrive/c/backup/
    comment = Backup-Verzeichnis
    read only = yes
    hosts allow = 192.168.0.0/16
    list = true

    Ich denke, ein Großteil der Angaben ist selbsterklärend, ansonsten verweise ich auf die rsync.conf Manpage.

  6. Jetzt ist der Dienst wirklich funktionsfähig. Je nach Berechtigungsverwaltung und Benutzer, unter dem ihr den Dienst ausführt, müsst ihr eventuell noch die Berechtigungen der rsyncd.log ändern, damit diese auch beschreibbar ist.

Funktionstest

Wenn rsync dann startet, sollte im Log etwa so etwas stehen:

2012/06/11 10:30:32 [4036] rsyncd version 3.0.9 starting, listening on port 873

Um die Funktionalität des Rsync-Dienstes zu testen, öffnet eine Kommandozeile, navigiert in euer rsyncd-Verzeichnis und probiert folgenden Befehl aus:

rsync.exe ::

Die Ausgabe sollte dann eure eingerichteten rsync-Ordner wiedergeben. Bei der obigen rsync.conf würde das dann so aussehen:

C:\Program Files (x86)\rsyncd>rsync.exe ::
backup          Backup-Verzeichnis

Damit ist euer rsync-Daemon für Windows fertig. Zum Aktualisieren der Versionen müssen lediglich die 4 Cygwin-Dateien durch neuere ersetzt und der Dienst neu gestartet werden.

Update 2017-06-13: Das Paket ist nicht mehr verfügbar. Folgt der Anleitung.

Falls ihr an der Anleitung gescheitert oder einfach nur zu faul zum selbermachen seid, hier habe ich das"Rsync für Windows"-Paket zum Herunterladen bereitgestellt. Ihr müsst lediglich noch die gewünschten Pfade in der rsyncd.conf und der rsyncd.reg anpassen und die Reg-Datei danach ausführen. Wenn ihr rsync in C:\\Program Files (x86)\\rsyncd ausführen wollt, könnt ihr die Dateien so weitestgehend übernehmen.

Ich übernehme dafür keinerlei Haftung und empfehle jedem, die obige Anleitung zu befolgen, wenn er mir nicht hundertprozentig vertraut!

Advertisement

comments powered by isso

Advertisement