Hallo Leute,
Ich habe ein SUSE 9.2 Server, der hängt an einer USV.
Wird der Server von der USV heruntergefahren, und der Strom ist wieder da sollte die USV kurz ausschalten und wieder ein. Die wird mit einem kleinen Skript der USV mitgeteilt.
Da liegt nun mein Problem. Dieses Skript soll laufen wenn eigentlich alles schon abgeschaltet und unmounted wurde.
In dem Skript heißt es, es soll zugriff auf da Verzeichnis /etc erhalten, da liegt das Skript - aber im read-only Modus - da alle Patten ja schon weg sind, wie mache ich das.
Aus dem "halt-script" werde ich nicht so recht schlau!
Bitte helft mir
Danke
Linux 15.036 Themen, 107.107 Beiträge
Beispiel meiner Debian-Sarge version:
#! /bin/sh
#
# halt Execute the halt command.
#
# Version: @(#)halt 2.85-22 19-Jun-2004 miquels@cistron.nl
#
PATH=/sbin:/bin:/usr/sbin:/usr/bin
# Get the default from /etc/default/halt.
[ -f /etc/default/halt ] && . /etc/default/halt
if [ "$INIT_HALT" = "" ]
then
case "$HALT" in
[Pp]*)
INIT_HALT=POWEROFF
;;
[Hh]*)
INIT_HALT=HALT
;;
*)
INIT_HALT=POWEROFF
;;
esac
fi
# See if we need to cut the power.
if [ "$INIT_HALT" = "POWEROFF" ] && [ -x /etc/init.d/ups-monitor ]
then
/etc/init.d/ups-monitor poweroff
fi
# Don't shut down drives if we're using RAID.
hddown="-h"
if grep -qs '^md.*active' /proc/mdstat
then
hddown=""
fi
# If INIT_HALT=HALT don't poweroff.
poweroff="-p"
if [ "$INIT_HALT" = "HALT" ]
then
poweroff=""
fi
halt -d -f -i $poweroff $hddown
: exit 0
Was ist an so einem Shellscript nicht zu verstehen ?
PS.: Wenn das Problem die Shellprogrammierung ist, dann kann ich den "Advanced Bash-Scripting Guide" empfehlen:
http://www.tldp.org/LDP/abs/html/
...naja durch das Script kann ich mich so durchhangeln.
Aber ich glaube ich muß mich einfach ein bischen mehr mit den runleveln und dem hoch und runterfaheren beschäftigen, dann klapt auch mit dem letzetn Befehl.
Danke
In der inittab wird der default-Runlevel eingestellt.
Da ist irgendwo ein Kommentar über der entsprechenden Zeile. Die Shellscripte werden der Reihe nach abgearbeitet, so wie die Links in den Verzeichnissen /etc/.../rc0.d - rcS.d stehen. Vielleicht kannst du einen Link kurz vor dem halt-Script in einem Runlevel anlegen.
Beispeilsweise stehen im Verzeichnis .../rc2.d alle Links zu den Scripten für den Runlevel 2.
Bei SUSE gibt es den Runlevel-editor in yast für die Konfiguration der einzelnen Runlevels.
Ein Link , speziell ein symbolischer Link, ist wie ein zweiter Dateiname. Die richtigen Scripte für die Konfiguration des Rechner stehen unter /etc/init.d (zumindest bei meinem Debian). So wie die Links in den Verzeichnissen rcX.d stehen , so werden der Reihe nach die einzelnen Scripte in den jeweiligen Runlevels gestartet. Du brauchst eigentlich nur ein neues Scrpit schreiben und einen Link kurz vor dem halt-Srcipt in einem Runlevel einfügen.