Synchronisation eines Verzeichnisses
Hallo! Ich versuche grad zum ersten Mal in meinem Leben, das Verzeichnis "/home/benutzer" auf zwei PCs zu synchronisieren. Ich hab es einfach mal mit unison probiert (mit ssh), allerdings bleibt unison definitiv mit der Meldung "Wating for changes from server" hängen. Kann mir jemand einen Tipp geben, wie ich die Synchronisation hinbekomme? Ich bin nicht unbedingt auf unison aus. Gruß, Dennis Neumeier
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dennis Neumeier schrieb:
Hallo!
Ich versuche grad zum ersten Mal in meinem Leben, das Verzeichnis "/home/benutzer" auf zwei PCs zu synchronisieren.
Schau Dir mal rsync an. Ist auch kinderleicht. Doku findest Du sehr viel im Internet. Wenn Du nicht mehr weiter weisst, kannst Du mich ja noch einmal mit dem direkten Prob fragen und ich versuche Dir zu helfen. - -- Mit freundlichen Grüßen Michael Post ************************************************************** - Software | Internet | Hosting - PureMatic, Gotenstraße 160, 53175 Bonn http://www.purematic.de | Tel: +49 (0)228-4295904 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFD/NnUNhM2b4kmzXwRAqJ5AJ0T6xApF6qIlhd1X2UiVUV2jHbzPwCfa2hH zvlOAt0P1zvl22FWGH08rck= =XL8V -----END PGP SIGNATURE-----
Am Mittwoch, 22. Februar 2006 22:38 schrieb Michael Post:
Schau Dir mal rsync an.
Ich habe mich letztlich auch für rsync entschieden. Bei mir sieht das etwa so aus: if [ $FSTYPE = vfat ]; then RSYNCOPT="-rltvz --stats --modify-window=1" else RSYNCOPT="-rlptgoDvz --stats" fi /usr/bin/rsync -e ssh $RSYNCOPT --delete $SYNCQUELLE $SYNCZIEL Ein Prüfsummenvergleich hat mir zu lange gedauert. Die Optionen kann man auch kürzer zusammenfassen. Al
Michael Post, Mittwoch, 22. Februar 2006 22:38:
Ich versuche grad zum ersten Mal in meinem Leben, das Verzeichnis "/home/benutzer" auf zwei PCs zu synchronisieren.
Schau Dir mal rsync an. Ist auch kinderleicht. Doku findest Du sehr viel im Internet. Wenn Du nicht mehr weiter weisst, kannst Du mich ja noch einmal mit dem direkten Prob fragen und ich versuche Dir zu helfen.
Also zur Synchronisation ist rsync einfach nicht geeignet. Bei rsync sagt man: Dies hier ist der Quellbestand, kopiere ihn woanders hin. Unison vergleicht die beiden Bäume, und kopiert mit Hilfe des rsync-Algorithmus die neuen/geänderten Dateien in beide Richtungen, sodaß am Schluß beide Bäume aktuell sind. rsync ist also im Prinzip ein Teil von unison, kann dieses aber nicht ersetzen. -- Andre Tann
Dennis Neumeier, Mittwoch, 22. Februar 2006 21:20:
Ich hab es einfach mal mit unison probiert (mit ssh), allerdings bleibt unison definitiv mit der Meldung "Wating for changes from server" hängen.
Kann mir jemand einen Tipp geben, wie ich die Synchronisation hinbekomme? Ich bin nicht unbedingt auf unison aus.
Unison tut bei mir einwandfrei. Welche Version? Wie groß ist Dein Verzeichnisbaum? Wenn unison auf die Gegenseite wartet - arbeitet die dann, oder passiert dort nix? Der erste Synchronisationsvorgang kann ziemlich lange dauern, weil jede Datei ausgelesen werden muß, um ne md5sum zu bilden. Wichtig wäre auch, daß niemand auf den Baum zugreift, während Du unison laufen läßt. Sonst gibts immer wieder mal Zicken. -- Andre Tann
Zunächst einmal danke für Eure Antworten! Ich hab mich auch mal ein wenig schlau gemacht und kann nun zu folgendem was sagen:
Unison tut bei mir einwandfrei. Welche Version?
unison version 2.13.16
Wie groß ist Dein Verzeichnisbaum?
68,2 GB. Wobei ich dazu sagen muss, daß davon nur ein kleiner Datenbestand synchronisiert werden soll
Wenn unison auf die Gegenseite wartet - arbeitet die dann, oder passiert dort nix?
Hm. Also: Das Netzwerk macht nichts, zumindest blinkt mein Router nicht mehr. Gibts eine eindeutigere Analysemethode, um sicherzugehen, daß auf dem PC, auf dem die Daten drauf sollen, zu überprüfen? Da fällt mir noch was ein: Ich habe einen PC 1 (da sollen die Daten hin), auf dem ich unison starte. Muss ich denn auf PC 2 auch irgendwie unison was sagen? Ich hab dazu leider nichts in der Manpage (ssh-Methode) gefunden!
Der erste Synchronisationsvorgang kann ziemlich lange dauern, weil jede Datei ausgelesen werden muß, um ne md5sum zu bilden.
Hm. Bei 68,2 GB kann das wirklich dauern. Jetzt muss ich mal schauen, ob ich das irgendwie deaktivieren kann. Was ich dazu noch gefunden habe: Kann es sein, daß ssh einen Time-Out hat und unision dann vergeblich auf Daten wartet? Wenn ja: Wie kann ich das denn ändern?
Wichtig wäre auch, daß niemand auf den Baum zugreift, während Du unison laufen läßt. Sonst gibts immer wieder mal Zicken.
Das ist wohl wahr: Ich sollte es tunlichst vermeiden, unison grafisch laufen zu lassen - und zwar als User, dessen home-Verzeichnis ich grad synchronisieren will ;) Gruß, Dennis
Dennis Neumeier, Donnerstag, 23. Februar 2006 08:16:
unison version 2.13.16
Sollte OK sein.
Wie groß ist Dein Verzeichnisbaum?
68,2 GB. Wobei ich dazu sagen muss, daß davon nur ein kleiner Datenbestand synchronisiert werden soll
Sind es viele kleine Dateien (maildir...), oder wenige große? Ich hab festgestellt, daß Unison sich bei fetten Brocken von > 2GB gern mal verschluckt, wobei ich nicht weiß, obs an unison, am Dateisystem (xfs bei mir) liegt oder auch am rsync-Algorithmus. Ich synchonisiere täglich ca. 40 GB bei 100.000 Dateien. Das geht problemlos.
Hm. Also: Das Netzwerk macht nichts, zumindest blinkt mein Router nicht mehr. Gibts eine eindeutigere Analysemethode, um sicherzugehen, daß auf dem PC, auf dem die Daten drauf sollen, zu überprüfen?
Daß auf dem Netzwerk anfänglich nichts passiert ist klar. Unison muß erst alle Dateien abgrasen, was bei 68 GB durchaus ne Stunde oder so dauern kann. Laß auf dem "Gegenrechner" einfach mal top mitlaufen, und schau Dir auch an, ob die Festplatte rattert. Wenn ja, und wenn top auch entsprechende Last meldet, dann laß das Dings einfach mal werkeln. Jeder weitere Start geht dann schnell, aber das erste Mal dauert es wirklich lang.
Da fällt mir noch was ein: Ich habe einen PC 1 (da sollen die Daten hin), auf dem ich unison starte. Muss ich denn auf PC 2 auch irgendwie unison was sagen? Ich hab dazu leider nichts in der Manpage (ssh-Methode) gefunden!
Also das Manual von Unison ist ziemlich gut. Liegt als pdf-Datei vor. Hast Du es gefunden? Liegt glaube ich bei /usr/share/doc/unison... Ich kann grad nicht nachschauen, aber IIRC reicht es, wenn drüben ein sshd läuft und unsion installiert ist. Dein Unison meldet ja, daß es auf die Meldung der Gegenstelle wartet. Also müßte das schon soweit passen.
Das ist wohl wahr: Ich sollte es tunlichst vermeiden, unison grafisch laufen zu lassen - und zwar als User, dessen home-Verzeichnis ich grad synchronisieren will ;)
Hab ich auch öfter schon gemacht, und hat nie Probleme bereitet. Nur wenn KMail noch lief, dann ist es manchmal nicht richtig stabil gewesen. Ich arbeite trotzdem nur noch auf der Kommandozeile, das geht auch gut, und schneller. -- Andre Tann
Sind es viele kleine Dateien (maildir...), oder wenige große?
Sowohl als auch. In dem betreffendem home-Verzeichnis sind neben den kleinen config-Dateien auch größere, wie z.B. VMWare-Maschinen vorhanden.
Ich hab festgestellt, daß Unison sich bei fetten Brocken von > 2GB gern mal verschluckt, wobei ich nicht weiß, obs an unison, am Dateisystem (xfs bei mir) liegt oder auch am rsync-Algorithmus.
Moment mal! Ich hab mir mal die Optionen bei unison angeschaut und da gibts eine Namens "-rsync". Verwendet die unison nicht per default? Wenn nein: Sollte ich die verwenden?
Daß auf dem Netzwerk anfänglich nichts passiert ist klar. Unison muß erst alle Dateien abgrasen, was bei 68 GB durchaus ne Stunde oder so dauern kann. Laß auf dem "Gegenrechner" einfach mal top mitlaufen,
top läuft!
und schau Dir auch an, ob die Festplatte rattert.
Schwierig. Leider funktioniert die LED an Gehäuse für HDDs für die Festplatte, auf der der Original-Datenbestand liegt, nicht.
Ich kann grad nicht nachschauen, aber IIRC reicht es, wenn drüben ein sshd läuft und unsion installiert ist.
Laut man sollte es das...
Dein Unison meldet ja, daß es auf die Meldung der Gegenstelle wartet. Also müßte das schon soweit passen.
Ja, aber auf was denn genau? Das ist die Frage!
Hab ich auch öfter schon gemacht, und hat nie Probleme bereitet. Nur wenn KMail noch lief, dann ist es manchmal nicht richtig stabil gewesen.
Hm. Wundert mich ein wenig. Aber warum sollte das auch nicht gehen? Andere Programme (größere Datenbanken etc) können das ja auch. Gruß, Dennis
Dennis, Donnerstag, 23. Februar 2006 10:09:
Sowohl als auch. In dem betreffendem home-Verzeichnis sind neben den kleinen config-Dateien auch größere, wie z.B. VMWare-Maschinen vorhanden.
Also bei den vmware-Installationen hatte ich auch immer Probleme, die sind zu fett. Andererseits will ich die inzwischen gar nicht mehr synchronisiert haben, denn auf dem Notebook brauche ich andere vmwares als auf der Arbeitsmaschine. Daher schließe ich ~/vmware aus.
Moment mal! Ich hab mir mal die Optionen bei unison angeschaut und da gibts eine Namens "-rsync". Verwendet die unison nicht per default? Wenn nein: Sollte ich die verwenden?
Ich nehme [1].
top läuft!
Dann verrat doch auch, was es sagt...
Ja, aber auf was denn genau? Das ist die Frage!
Es wartet darauf, daß die Gegenseite den Datenbestand nach Änderungen durchwühlt hat und Vorschläge macht, was zu synchronisieren sei. Nachdem auf Deiner lokalen Maschine keine oder kaum Daten sind geht es schnell. Auf der entfernten Maschine liegt der ganze Krempel, und der muß eben durchsucht werden.
Hm. Wundert mich ein wenig. Aber warum sollte das auch nicht gehen? Andere Programme (größere Datenbanken etc) können das ja auch.
Datenbanken sind ne ganz, ganz andere Baustelle... Gruß. Andy [1] # cat ~/.unison/notebook.prf root = /home/ata root = ssh://workstation//home/ata auto = true height = 67 times = true ignore = Path vmware ignore = Path .ICEauthority ignore = Path .Xauthority ignore = Path .mcop ignore = Path unison.log ignore = Path .unison ignore = Path .ssh ignore = Path .bash_history ignore = Path .xsession* ignore = Path .thumbnails ignore = Path .DCOP* ignore = Path .vmware ignore = Path .gnupg ignore = Path .kde/share/apps/kdesktop/IconPositions ignore = Path .adobe ignore = Path .kde/share/apps/klipper ignore = Path .kde/share/config/gtkrc -- Andre Tann
top läuft!
Dann verrat doch auch, was es sagt...
Inzwischen bin ich auf den Dialog zwecks Auswahl, was in welche Richtung soll, gekommen. Warten ist also eine gute Idee. Was die Synchronisation selbst angeht: Ich muss wohl auch so eine Datei anlegen, da in 68,2 GB natürlich viel enthalten ist, was nicht synchronisiert werden soll bzw. muss. Da wäre jetzt natürlich eine umgekehrte Methode von unison ganz praktisch - also nicht alle Pfade angeben, die ausgeschlossen, sondern nur die, die eingeschlossen werden sollen. Hab ich nicht gefunden - wäre also wohl ein Feature Request!
Datenbanken sind ne ganz, ganz andere Baustelle...
Das stimmt zwar, aber auch Datenbanken legen letztendlich die Daten selbst auf ein Dateisystem ab und müssen da den Zugriff entsprechend regeln. Und auf dieser Schicht gibt´s ja nicht viele Möglichkeiten, mit Daten umzugehen.
# cat ~/.unison/notebook.prf
root = /home/ata root = ssh://workstation//home/ata
auto = true height = 67 times = true
ignore = Path vmware ignore = Path .ICEauthority ignore = Path .Xauthority ignore = Path .mcop ignore = Path unison.log ignore = Path .unison ignore = Path .ssh ignore = Path .bash_history ignore = Path .xsession* ignore = Path .thumbnails ignore = Path .DCOP* ignore = Path .vmware ignore = Path .gnupg ignore = Path .kde/share/apps/kdesktop/IconPositions ignore = Path .adobe ignore = Path .kde/share/apps/klipper ignore = Path .kde/share/config/gtkrc
Danke für die Datei - auf der kann ich aufbauen! Gruß, Dennis
Dennis, Donnerstag, 23. Februar 2006 11:50:
Was die Synchronisation selbst angeht: Ich muss wohl auch so eine Datei anlegen, da in 68,2 GB natürlich viel enthalten ist, was nicht synchronisiert werden soll bzw. muss. Da wäre jetzt natürlich eine umgekehrte Methode von unison ganz praktisch - also nicht alle Pfade angeben, die ausgeschlossen, sondern nur die, die eingeschlossen werden sollen. Hab ich nicht gefunden - wäre also wohl ein Feature Request!
Ich hab das jetzt nicht genau im Kopf, aber guck Dir nochmal das pdf-Manual an - da gibts bestimmt eine Möglichkeit, was zu regeln. Schau mal weiter hinten bei den komplexeren Beispielen. Da kann man doch ganze Blöcke inkludieren/exkludieren. Außerdem gibst Du doch sowieso im Kopf der Datei den Baum an, der synchronisiert werden soll. Da könntest Du also auch was drehen.
Danke für die Datei - auf der kann ich aufbauen!
Bittschee... -- Andre Tann
Hallo Dennis Am Mittwoch, 22. Februar 2006 21:20 schrieb Dennis Neumeier:
Hallo!
Ich versuche grad zum ersten Mal in meinem Leben, das Verzeichnis "/home/benutzer" auf zwei PCs zu synchronisieren.
Ich hab es einfach mal mit unison probiert (mit ssh), allerdings bleibt unison definitiv mit der Meldung "Wating for changes from server" hängen.
Kann mir jemand einen Tipp geben, wie ich die Synchronisation hinbekomme? Ich bin nicht unbedingt auf unison aus.
Kuck dir mal http://suse-linux-faq.koehntopp.de/q/q-backup-rsync.html an. Damit sollte alles geklärt sein HTH Andy
Andreas Schott, Donnerstag, 23. Februar 2006 00:14:
Unison und rsync sind aber zwei völlig verschiedene Paar Schuhe. Unison synchronisiert zwei Bäume, rsync kopiert nur mehr oder weniger effektiv einen Baum woanders hin. -- Andre Tann
Hallo Andre Am Donnerstag, 23. Februar 2006 08:41 schrieb Andre Tann:
Andreas Schott, Donnerstag, 23. Februar 2006 00:14:
Unison und rsync sind aber zwei völlig verschiedene Paar Schuhe. Unison synchronisiert zwei Bäume, rsync kopiert nur mehr oder weniger effektiv einen Baum woanders hin.
Wer lesen kann ist klar im Vorteil. Hast natürlich recht. Andy
Hi, falls Du dich zuerst beim SSH-anmelden mit einem Passwort identifizieren musst, dann ist es wichtig UNISON von der Kommandozeile zu starten. Auf der Kommandozeile wartet UNISON auf die Passwort-Eingabe. Grüße Oli Am Mittwoch 22 Februar 2006 21:20 schrieb Dennis Neumeier:
Hallo!
Ich versuche grad zum ersten Mal in meinem Leben, das Verzeichnis "/home/benutzer" auf zwei PCs zu synchronisieren.
Ich hab es einfach mal mit unison probiert (mit ssh), allerdings bleibt unison definitiv mit der Meldung "Wating for changes from server" hängen.
Kann mir jemand einen Tipp geben, wie ich die Synchronisation hinbekomme? Ich bin nicht unbedingt auf unison aus.
Gruß, Dennis Neumeier
Hi, falls Du dich zuerst beim SSH-anmelden mit einem Passwort identifizieren musst, dann ist es wichtig UNISON von der Kommandozeile zu starten. Auf der Kommandozeile wartet UNISON auf die Passwort-Eingabe.
Inzwischen wohl nicht mehr: Wenn ich unter KDE unison mittels Schnellstarter (ALT-F2) starte und ssh ein Passwort verlangt wird, dann öfffnet unison ein eigenes Fenster, in dem geschrieben steht, daß jetzt ein Passwort einzugeben ist. Relativ einfach gemacht ist es zwar, das Fenster, aber es erfüllt seinen Zweck voll und ganz! Gruß, Dennis
participants (7)
-
Al Bogner
-
Andre Tann
-
Andreas Schott
-
Dennis
-
Dennis Neumeier
-
Michael Post
-
Tim Oliver Wagner