Hallo Bernd, Am 09.03.2015 um 17:25 schrieb Bernhard Junk:
Hallo, ich habe doch geschrieben, dass beide Server auf dem gleichen Stand sein sollen:
... doch Du schreibst (bis hierher) wieder nicht, wie schnell der gleiche Stand hergestellt sein soll. Im Sub-Sekundenbereich oder einmal pro Stunde. Das verrätst Du erst später.
Beispiel: Auf einem wird ein Textdokument und auf dem anderen auf der Datenbank gearbeitet. Sobald auf dem einen Rechner ein Unterschied zu anderen festgestellt wird, wird die neuere Datei auf dem anderen die Datei aktualisiert bzw kopiert werden wenn sie noch nicht existiert. Damit sind beide Rechner wieder gleich. Das könnte mit einem cronjob jede Stunde aktiviert werden. In dieser Zeit können bis zu zehn Leute nicht viel geschrieben oder geändert haben.
Hier genau setzten die gestellten Fragen an. Kannst Du also sicher sein, dass eine Datei nicht innerhalb einer Stunde auf beiden Rechnern bearbeitet wird? Das gilt insbesondere für die Datenbank. Würde auf beiden Seiten an den gleichen Files etwas geändert, dann wird das Leben schwieriger. Wenn Du aber sicher bist, dass nur auf jeweils einer Version gearbeitet wird (das darf von File zu File der jeweils andere Rechner sein, aber für ein individuelles File muss es immer der gleiche sein), dann funktioniert dies:
Also ein script, dass im cronjob jede Stunde oder jede zweite Stunde das Verzeichnis beider Server durchsucht und aktualisiert. Dafür brauche ich doch kein rsync, oder? Ich vergleiche auf Server2 /home/daten mit /mnt/server1/daten und wenn eine oder mehrere Dateien neuer oder auf dem anderen nicht vorhanden sind wird das Verzeichnis aktualisiert.
Genau. Das kann man sich selbst basteln. Mit einem find die ganzen Verzeichnisse absuchen, Datei für Datei vergleichen und dann gegebenenfalls kopieren. Und wenn Du dazu nicht alle Dateien immer wieder durch das Netz schicken möchtest, dann schreibst Du Dir Routinen, die auf jedem Rechner getrennt die Eigenschaften (letzte Änderungszeit oder eine CRC-Summe) berechnen und dann brauchst Du nur noch diese Eigenschaften zu vergleichen. Das hat aber schon jemand für Dich getan. Das Tool, das dabei herauskam heißt rsync. Und ich bin mir absolut sicher, dass, wenn Du wirklich mit gelegentlichen Abgleichen leben kannst, rsync die Methode der Wahl ist. Eine Viertelstunde manpage lesen, ein paar Mal mit Versuchsverzeichnissen schauen was passiert und schon kann es produktiv werden. Um die Frage zurück zu geben: Warum solltest Du _nicht_ rsync verwenden? Es ist ein erprobtes Tool, reduziert die Menge der übertragenen Daten und ist immer wieder ein Quell der Freude. (Früher habe ich mich auch damit herumgeärgert, halbfertige Abgleiche zuende zu bringen. Die Zeiten sind vorbei. Das Denken übernimmt rsync für mich. Fertig.) Herzliche Grüße Jan -- _________________________________________________________________ Jan Handwerker http://www.imk-tro.kit.edu/jan.handwerker.php