homedirs beim herunterfahren sichern

Post Reply
Message
Author
dagel

homedirs beim herunterfahren sichern

#1 Post by dagel »

Hallo,

ich würde gerne meine Heimatverzeichnisse beim runterfahren/rebooten des Rechners per rsync auf einen anderen Rechner replizieren.

Dazu habe ich im shutdown Skript den entsprechenden rsync Befehl eingetragen.
Soweit, so gut, jedoch wartet init nicht, bis der Befehl fertig ist, sonders stößt ihn an und macht dann mit dem herunterfahren weiter, so als ob da ein "&" hinten anghängt wäre. Ist aber nicht.
Ich habe dort auch mal eine Abfrage eingebaut wie "wollen sie wirklich den Rechner runterfahren" und auf eine Eingabe gewartet, wird aber glatt ignoriert.

Wenn also viele/große Dateien in /home liegen, wird rsync nicht fertig.

Kann man init zähmen ? Oder muß ich ein extra shutdownskript schreiben, das nach dem syncen erst init aufruft ? Wäre ärgerlich, weil man sowas gerne vergißt.


P.S.: nfs ist keine Lösung

User avatar
killerhippy
Posts: 529
Joined: 19. May 2000 19:36
Contact:

#2 Post by killerhippy »

Hi,

wie dir wohl bei den System messages beim Herunterfahren entgangen ist, werden kill signale an alle Prozesse gesendet.

An deiner Stelle wuerde ich einen Wrapper dafür schreiben.

Dazu ist erstmal etwas Detektivarbeit angesagt. Und zwar ist die Frage, wie du dein System herunterfährst.

- /etc/init.d/halt.sh ?
- halt ?
- shutdown -h now ?
- aus dem Windowmanager heraus ?
- aus dem GDM heraus ?

Ich würde es am schmerzfreiesten so machen:

Sofern noch nicht geschehen, das Verzeichnis /root/bin erzeugen und an erster Stelle in roots PATH aufnehmen. In /root/bin ein Bashscript namens halt (oder wieauchimmer) erzeugen, in dem du zuerst deinen rsync machst und in der zweiten Zeile /sbin/halt oder welchen Befehl du zum Runterfahren du nutzt, aufrufst.

Wenn du als Namen halt verwendet hast, wird von root aufgerufen, nun das Bashscript anstelle von /sbin/halt ausgeführt.
Es gibt keine dumme Fragen!

Killerhippy

dagel

#3 Post by dagel »

Danke, aber das ist mir nicht entgangen. Nur war ich der Meinung, das ein sigterm wartet, bis sich ein Programm selber sauber beendet (wobei ein sigkill so oder so wenig später folgt), aber evtl. hätte man etwas ähnlichem wie "trap" init ein wenig in dem Wartemodus zu setzen können.

Die Idee mit dem Wrapper wollte ich umgehen, eben weil ich mein System je nach Lust und Laune herunterfahre, scheint aber keine Alternative zu geben.

Post Reply