Dies ist eine AlteSeite aus unserem UseModWiki bei Sourceforge.

Bitte überarbeite die Seite, passe die Formatierung für das JSPWiki an
und entferne diesen Text.

Vielen Dank!

{{{
= rsync-Server =

rsync ist ein Programm, mit dem man Verzeichnisse und Dateien auf
verschiedenen Rechnern abgleichen kann. Im Prinzip reicht ein
installiertes rsync-Paket (sowie ssh) auf beiden Rechnern, um mit
einem Befehl dafür zu sorgen, daß zwei Verzeichnisse gleich sind.
Dabei können z.B. von beiden Rechnern die aktuellsten Files
behalten werden oder ein Rechner auf dem anderen gespiegelt werden.
Dabei ist der grosse Unterschied zu anderen
File-Übertragungsprotokollen, das rsync immer nur die Dateien (oder
Teile von Dateien) versendet, die sich wirklich geändert haben (es
benutzt dazu md5-Checksummen). Als eigentliches
Verbindungsprotokoll kann ssh, rsh (ein ssh-Vorgänger) oder auch
ein rsync-eigenes (unverschlüsseltes) Protokoll benutzt werden.

Wir benutzen intern einen solchen rsync-Server, um KrefixLinux
innerhalb unseres KrefixLinux/EntwicklerTeam zu verteilen.

Generell sind die manpages '''rsync''' und '''rsyncd.conf'''
übrigens auch sehr hilfreich.

== Wozu ein rsync-Server? ==

Ein rsync-Server ist ein rsync-Daemon, der Anfragen auf dem
rsync-Port annimmt und dann mittels des oben erwähnten
rsync-eigenen Protokolls Dateien austauscht. dies kann z.B. ein
effektiver Ersatz für einen ftp-Server sein. Im Gegensatz zur
Übertragung per ssh oder rsh muss der Benutzer keinen login-Account
auf der Maschine haben. Es sind anonyme Zugriffe genauso möglich
wie die Authentifizierung über eine rsync-eigene Passwortdatei.

=== Automatischer Start ===

Leider wird im Standard-Debian-Paket rsync nicht als Server
gestartet. Ich habe daher folgendes Init-Skript nach
''/etc/init.d/rsyncd'' geschrieben. Danach habe ich in den
Runleveln einen Link ''S20rsyncd'' gesetzt. Die 20 erschien mir
richtig, da auch andere ähnliche Services die 20 benutzen.

''..to be continued''

=== Konfigurationsdateien ===

Die Datei ''/etc/rsyncd.conf'' ist die eigentliche
Konfigurationsdatei. Ein Muster findet man unter
''/etc/share/doc/rsync''. Dieses entpackt man, kopiert es nach
''/etc'' und wandelt es ggf. ab. Die Optionen sind größtenteils
selbsterklärend und ansonsten auf o.g. manpage gut erklärt. Ggf.
muss noch eine Datei ''/etc/rsyncd.secrets'' erzeugt werden, die
die Benutzernamen und Passwörter enthält. System-Accounts (und
Passwörter aus ''/etc/passwd'') können nicht benutzt werden.

== Zugriff auf den Server ==

Von einem anderen Rechner aus kann man nun z.B. folgendes
schreiben:

  rsync username@servername.domain.net::modul/bla . -a

um die Datei bla, die im Modul (unter Samba würde man 'share'
sagen) modul liegt, vom angegebenen Host in das aktuelle lokale
Verzeichnis zu kopieren. Hat man keine Authentifizierung
eingestellt, schreibt man einfach:

  rsync servername.domain.net::modul/bla . -a

Die Optionen (wie '''-a''') sollte man auf jeden Fall nochmals nach
der manpage prüfen und für seinen Einsatzzweck auswählen, da die
Möglichkeiten des Programms sehr vielfältig sind.
}}}