P2P-Synchronisation mit rsync

2003-06-11 Diskussionsfäden Michael Hierweck
Hallo,

ich besitze Computer an zwei Standorten und möchte die /home-Directories
synchron halten. Lösungen mit NFS scheiden aus Performancegründen aus,
es bleibt nur, die Synchronisation manuell auf Wunsch oder automatisch
per cronjob von Zeit zu Zeit über das Internet durchzuführen.

Beide Standorte verwenden DSL-Verbindungen ins Internet mit dynamischer
IP, über dyndns sind diese jedoch erreichbar. An beiden Standorten ist
ein ssh-Server aktiv.

Nach entsprechender Recherche bestätigte sich meine Vermutung, dass
rsync über ssh die Toolkombination der Wahl ist (ggf. bitte
widersprechen).

Im Gegensatz zu den allermeisten Info im Netz, gibt es hier aber keinen
Master und einen Client, sondern beide Computer sind gleichberechtigt.
(Darum P2P im Subjekt.)

Kennt jemand ein Informationsquelle, die dieses Thema behandelt?

Wenn ich richtig verstanden habe, werden bei einem rync-Lauf nur an
einem Rechner Änderungen durchgeführt, auf dem anderen wird nur gelesen.
D.h. ich müsste nach dem Lauf A --rsync-- B auch noch A --rsync-- B
starten, oder?

Und dann gibt es da noch das Problem:

Wenn ein Benutzer auf Rechner A Dateien löscht, diese aber auf Rechner B
noch existieren, dann würden sie im Laufe der Synchronisation
wiederhergestellt. Wäre sehr ärgerlich...

Viele Grüße und vielen Dank für Tipps!

Michael


--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: P2P-Synchronisation mit rsync

2003-06-11 Diskussionsfäden Michael Hierweck
On Mit, 2003-06-11 at 11:45, [EMAIL PROTECTED] wrote:
 Hi,
 
 einen guten Artikel zur Einführung findest du unter:
 http://www.linux-magazin.de/Artikel/ausgabe/2002/04/rsync/rsync.html

Den hatt gelesen, aber da gibt es ja auch explizit den Master.

 rsync kann auf Wunsch auch Dateien löschen, die auf einem Rechner nicht mehr
 vorhanden sind, also können bei einem Synchronisationsvorgang sowohl Daten
 gelesen als auch gelöscht werden. 

Schon kann rsync Dateien löschen, aber:

Wenn auf Rechner A eine Datei existiert und auf B nicht, woher soll
rsync wissen können, ob die Datei kopiert oder gelöscht werden soll.

Hat ein Benutzer die Datei zwischen den Sync-Läufen neu erstellt (dann
müsste kopiert werden) oder gelöscht (dann müsste gelöscht)? Das kann
rsync nicht wissen, da es hier kein Änderungsdatum gibt, welches man
vergleichen könnte, um so den aktuellen Stand zu ermitteln.

Viele Grüße

Michael



--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: P2P-Synchronisation mit rsync

2003-06-11 Diskussionsfäden Sebastian Inacker
Hallo Michael.

On Wed, Jun 11, 2003 at 10:43:30AM +0200, Michael Hierweck wrote:
 ich besitze Computer an zwei Standorten und möchte die
 /home-Directories synchron halten. [...]
 [...]
 Im Gegensatz zu den allermeisten Info im Netz, gibt es hier aber
 keinen Master und einen Client, sondern beide Computer sind
 gleichberechtigt. [...]

Vorsicht vor Denkfehlern oder kleinen Details, die ich uebersehen
habe ;-). Aber was mir so dazu einfaellt:

Master ist immer der Rechner, an dem gerade gearbeitet wird bzw. an
dem zuletzt gearbeitet wurde.

rsync wird aufgerufen, wenn sich ein User auf einem Rechner einloggt.
Bevor der rsync Master - Loginrechner (=Client) fertig ist,
kann/darf der User nichts machen/aendern. (rsync aufrufen, bevor die
Shell/der Windowmanger gestartet wird.  Problem koennte cron sein...!)

Sobald der User was am Loginrechner macht, wird dieser zum Master.

Wenn dabei immer abwechselnd an den zwei Rechnern gearbeitet wird
(Situation zu Hause und im Buero), dann ist immer der andere
Rechner der Master.

Wenn dem nicht so ist (oder man mehr als zwei Rechner hat), dann
koennte man den Server per Timestamp-Dateien rausfinden: Beim Login
werden als erstes von allen Rechnern (also auch dem aktuellen
Loginrechner) Timestamp-Dateien zusammenkopiert (scp). Danach werden
die Dateien nach dem Datum sortiert. Der Rechner mit dem aktuellsten
Timestamp ist der Master. Nach dem Vergleich erzeugt man auf dem
Loginrechner den Timestamp. (Nach dem Vergleich, damit man den
Loginrechner auch dann als Master erkennen kann, wenn man sich 2x
hintereinander am gleichen Rechner anmeldet...)

Der Timestamp koennte auch so aussehen:

   2003/06/11 13:25:00 rechner1

Diese Zeilen zusammenkopieren und sortieren. Der Rechner aus der
letzten Zeile ist dann der Master...

 Wenn ein Benutzer auf Rechner A Dateien löscht, diese aber auf
 Rechner B noch existieren, dann würden sie im Laufe der
 Synchronisation wiederhergestellt. Wäre sehr ärgerlich...

Wenn eine Datei auf dem Master geloescht wird, dann wird sie auch auf
dem Loginrechner geloescht, bevor dieser zum neuen Master wird.

Stolpersteine sind sicher cron und Rechner ist nicht erreichbar.

Tschuess,
  Sebastian


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: P2P-Synchronisation mit rsync

2003-06-11 Diskussionsfäden Peter Blancke
Michael Hierweck [EMAIL PROTECTED] dixit:

 Wenn auf Rechner A eine Datei existiert und auf B nicht, woher
 soll rsync wissen können, ob die Datei kopiert oder gelöscht
 werden soll.

Das kann rsync nicht wissen. Auch nicht, wenn auf Server A eine
Datei xyz erstellt wird und auf Rechner B zum gleichen oder
annaehernd gleichen Zeitpunkt ebenfalls die Datei xyz.

Du kriegst das nur hin, wenn Du ausdruecklich nur bestimmte
Auslagerungsverzeichnisse auf beiden Servern anlegst und dann auf
jeder Seite eine Person in die Pflicht nimmst, fuer die korrekte
Einstellung der jeweiligen Dateien in die Verzeichnisstruktur zu
sorgen.

Gruss

Peter Blancke

-- 
Hoc est enim verbum meum!


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: P2P-Synchronisation mit rsync

2003-06-11 Diskussionsfäden Andreas Metzler
Michael Hierweck [EMAIL PROTECTED] wrote:
 ich besitze Computer an zwei Standorten und möchte die /home-Directories
 synchron halten.
[...]
 Nach entsprechender Recherche bestätigte sich meine Vermutung, dass
 rsync über ssh die Toolkombination der Wahl ist (ggf. bitte
 widersprechen).

 Im Gegensatz zu den allermeisten Info im Netz, gibt es hier aber keinen
 Master und einen Client, sondern beide Computer sind gleichberechtigt.
 (Darum P2P im Subjekt.)
[...]

unison?
   cu andreas


--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: P2P-Synchronisation mit rsync

2003-06-11 Diskussionsfäden Robert Rakowicz
Michael Hierweck [EMAIL PROTECTED] writes:

Hi,

 On Mit, 2003-06-11 at 11:45, [EMAIL PROTECTED] wrote:
  Hi,
  
  einen guten Artikel zur Einführung findest du unter:
  http://www.linux-magazin.de/Artikel/ausgabe/2002/04/rsync/rsync.html
 
 Den hatt gelesen, aber da gibt es ja auch explizit den Master.
 
  rsync kann auf Wunsch auch Dateien löschen, die auf einem Rechner nicht mehr
  vorhanden sind, also können bei einem Synchronisationsvorgang sowohl Daten
  gelesen als auch gelöscht werden. 
 
 Schon kann rsync Dateien löschen, aber:
 
 Wenn auf Rechner A eine Datei existiert und auf B nicht, woher soll
 rsync wissen können, ob die Datei kopiert oder gelöscht werden soll.
 
 Hat ein Benutzer die Datei zwischen den Sync-Läufen neu erstellt (dann
 müsste kopiert werden) oder gelöscht (dann müsste gelöscht)? Das kann
 rsync nicht wissen, da es hier kein Änderungsdatum gibt, welches man
 vergleichen könnte, um so den aktuellen Stand zu ermitteln.

so schwer ist das doch nicht. Alles was man dazu braucht ist ein
Snapshotfile. Damit ist auch sichergestellt das man Änderungen auf
beiden Seiten machen kann. Ein automatisch unlösbares Problem hat man
allerdings dann wenn auf beiden Seiten sich die gleiche Datei verändert
hat. 


Pozdrawiam/Gruß/Regards
Robert Rakowicz

-- 
Robert Rakowicz
E-Mail: [EMAIL PROTECTED]
URL:www.rjap.de


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)