Linux 15.036 Themen, 107.107 Beiträge

shutdown - danach noch ein letztes script ausführen!

Harald Evertz / 5 Antworten / Baumansicht Nickles

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

bei Antwort benachrichtigen
KarstenW Harald Evertz „shutdown - danach noch ein letztes script ausführen!“
Optionen

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 ?

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
KarstenW Nachtrag zu: „Beispiel meiner Debian-Sarge version: ! /bin/sh halt Execute the halt command....“
Optionen

PS.: Wenn das Problem die Shellprogrammierung ist, dann kann ich den "Advanced Bash-Scripting Guide" empfehlen:

http://www.tldp.org/LDP/abs/html/

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Harald Evertz Nachtrag zu: „shutdown - danach noch ein letztes script ausführen!“
Optionen

...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

bei Antwort benachrichtigen
KarstenW Harald Evertz „...naja durch das Script kann ich mich so durchhangeln. Aber ich glaube ich muß...“
Optionen

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.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
KarstenW Nachtrag zu: „In der inittab wird der default-Runlevel eingestellt. Da ist irgendwo ein...“
Optionen

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.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen