Sie sind nicht angemeldet.

1

20.12.2011, 09:31

home Verzeichnisse synchronisieren

Hallo,

ich synchronisiere home Verzeichnisse mit mehreren Rechnern mit unison.
Synchronisiert wird von jedem Rechner auf einen ssh Server als "gemeinsamen Topf".
Dort werden dann noch backups mit rsnapshot gemacht.
Nun stoße ich die Synchronisierung entweder beim user login an oder per Hand.
Ich möchte es aber so machen, dass es "automatisch" passiert und bei jeder Änderung. Quasi wie Dropbox.
Ich dachte da an cron. Es gibt aber noch Probleme:
  • die Verbindung ist sehr langsam; wenn größere Änderungen synchronisiert werden müssen, darf kein weiteres unison gestartet werden, wenn ein altes noch läuft (lock file erstellen?)
  • cron soll nicht den system log vollspammen - wie das bei minütlichem anstoßen passiert - andererseits soll es schon in etwa minütlich passieren, denn bspw. 10-minütlich kann man nicht mal gemütlich den raum bzw. Rechner wechseln und hat da seine Dokumente bereits aktualisiert
  • was passiert, wenn keine Internetverbindung besteht

Wie kann ich das denn am besten machen?
Ist cron überhaupt das richtige Werkzeug für sowas oder sollte ich besser ein Skript schreiben, das auf jedem Rechner im Hintergrund läuft?

2

22.12.2011, 11:49

Ok, ich habe nun ein kleines Skript geschrieben, das ich in die Gnome-Startprogramme eingetragen habe:

Quellcode

1
2
3
4
5
6
7
8
9
#!/bin/bash

while true; do
	if ping -c 1 -W 1 "serveradresse" 2>/dev/null 1>&2;
	then
		unison -ui text home;
	fi
	sleep 10;
done


Zum Testen auf 10 Sekunden gestellt.
Das Problem, dass nicht mehrere gleichzeitig laufen dürfen löst sich allein.
Verbindung wird auch vorher überprüft.

Nun habe ich festgestellt, dass das Skript weiter läuft, nachdem ich mich auslogge.
Logge ich mich danach wieder ein, läuft es zwei mal. So bekomme ich mit der Zeit Ärger.
Weiß jemand, wie ich es so ausführen kann, dass es beim logout automatisch abgeschossen wird?
Alles andere, was man in die Startprogramme einträgt, läuft ja nach dem logout auch nicht weiter...

3

22.12.2011, 12:14

Hmm.., ich denke es ist keine gute Idee ein komplettes /home mit all deren Settings für mehrere Systeme (abwechselnd) zu verwenden. Probleme könnten zb entstehen wenn unterschiedliche Versionen des gleichen Programms installiert sind,(zb nach einem Update des einen Systems) usw
Ich würde mir für so was eher eine separate "Daten-Partition" anlegen.

4

22.12.2011, 17:42

Ich glaube, du hast mein Tun ein wenig missverstanden.
Es geht nicht um den Austausch zwischen verschiedenen Betriebssystemen auf dem selben Rechner, sondern um den Abgleich mehrerer Rechner mit dem selben Betriebssystem.
Zudem muss es auch offline funktionieren, weshalb ein einfaches ssh mounten nicht ausreicht. Es funktioniert im Prinzip genau wie dropbox. Nur, dass ich bei der Einrichtung noch nicht von Dropbox wusste.
Und wer vertraut seine privaten Dokumente schon einem profitorientierten Unternehmen an, das nicht einmal EU-Gesetzen unterliegt und in dessen Server schon mehrfach eingebrochen wurde? Jeder Depp - aber nicht ich ;-)
Das mache ich schon seit ca 2 Jahren und es funktioniert, sofern die Konfiguration stimmt, sehr gut.
Anfangs habe ich das nur mit Dokumenten etc und den pidgin logs gemacht, habe dann aber festgestellt, dass es auch für Konfigurationen hervorragend funktioniert.
Natürlich nicht für alle. So synchronisiere ich beispielsweise ~/.config, aber nicht ~/.config/chromium - denn da sind zu große Dateien drin, die sich ständig ändern (History usw in sqlite Datenbanken).
Ich kann das jedem nur ans Herz legen das zu tun, denn es ist eine sehr feine Sache, wenn man sich einen Starter ins Panel schiebt oder in Pidgin ein Konto erstellt und es ist gleich auf allen Rechnern geschehen.
Wenn jemand Interesse hat, schicke ich meine Config als PM, zum Abgucken.

Nun, zurück zum Thema. Weiß jemand, wie ich das irgendwie skripten kann, dass es immer wieder synchronisiert, aber beim logout aufhört?

5

23.12.2011, 14:47

[...]
Wenn jemand Interesse hat, schicke ich meine Config als PM, zum Abgucken.
[...]
Würde mich schon interessieren, aus reiner Neugierde :)
Sys:
AMD FX (tm)-6300 Six-Core Processor
GeForce GTX 650 1024MB
16384 MB DDR3 1600Mhz
ASUS M5A97 R2.0
Samsung SSD 830 (sys)

OS: Gentoo ~amd64
WM: i3
Kernel: vanilla-sources
VGA: nouveau
INIT: OpenRC :)

██ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ trust █████ ██████ ███ your █████ ████ government. Parts of this comment have been found in violation of H.R. 3261, S.O.P.A and Senate Bill 968, P.I.P.A. and have been censored for your benefit.