Script beim Runterfahren

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
tobb
Beiträge: 1032
Registriert: 27.01.2006 17:48:13

Script beim Runterfahren

Beitrag von tobb » 26.09.2006 19:48:52

Hallo,

ich möchte ein Script ausführen, wenn der PC heruntergefahren wird. Wo trägt man das ein? Kann man das mit crons lösen?

Benutzeravatar
esteel
Beiträge: 242
Registriert: 23.07.2002 11:06:25
Kontaktdaten:

Beitrag von esteel » 26.09.2006 19:58:20

Klar geht das.. beim runter fahren wird in Runlevel 0, beim reboot in Runlevel 6 gewechselt.
Die Sachen für die jeweiligen Runlevel findest du in /etc/rcX.d (X für 0 - S) und in /etc/init.d
Sollte einfach sein sich da was zu bauen.
i support free software: http://www.fsfe.org/en/fellows/esteel
a great free and opensource FPS game: http://nexuiz.com

tobb
Beiträge: 1032
Registriert: 27.01.2006 17:48:13

Beitrag von tobb » 26.09.2006 20:41:17

Er führt aber dummerweise nicht einfach ein Script aus, was in /etc/rc0.d liegt. Ist das jez wieder mit einem Aufwand verbunden?

Kann man nicht einfach mal ein pobliges Script beim Runterfahren ausführen lassen, sowas wie Autostart bei Gnome nur andersherum.

123456
Beiträge: 6126
Registriert: 08.03.2003 14:07:24

Beitrag von 123456 » 26.09.2006 20:47:38

Du könntest doch bsp. ins halt Skript den Aufruf Deines eigenen Skripts schreiben?!

cosmac
Beiträge: 4579
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 26.09.2006 21:06:15

aber sooo viel aufwendiger ist die "offizielle" Methode ja auch nicht:
das Script gehoert ins Verzeichnis "/etc/init.d" und muss ausfuehrbar
gemacht werden. Ins Verzeichnis "/etc/rc0.d" gehoert ein Link darauf.

Code: Alles auswählen

cd /etc/rc0.d
ln -s  /etc/init.d/mein_halt_script  K10mein_halt_script
wobei die Zahl nach K bestimmt, wann es ausgefuehrt wird:
10 ist fast das erste, ab 90 ist schon sehr spaet fuer ein eigenes Script.
Beware of programmers who carry screwdrivers.

tobb
Beiträge: 1032
Registriert: 27.01.2006 17:48:13

Beitrag von tobb » 26.09.2006 21:08:21

Halt Script

Code: Alles auswählen

#! /bin/sh
### BEGIN INIT INFO
# Provides:          halt
# Required-Start:    umountroot
# Required-Stop:
# Should-Start:      lvm raid2
# Should-Stop:
# Default-Start:     0
# Default-Stop:
# Short-Description: Execute the halt command.
# Description:
### END INIT INFO
#
# Version:      @(#)halt  2.85-22  19-Jun-2004  miquels@cistron.nl
#

PATH=/sbin:/bin:/usr/sbin:/usr/bin
. /lib/lsb/init-functions

# Get the default from /etc/default/halt.
[ -f /etc/default/halt ] && . /etc/default/halt

do_stop () {
        #Computernutzung von Mara loggen
        /root/./timekeeper

        if [ "$INIT_HALT" = "" ]
[...]
Timekeeper

Code: Alles auswählen

#!/bin/sh

date >> /var/log/timekeeper.log
uptime >> /var/log/timekeeper.log
echo "--------------------" >> /var/log/timekeeper.log
Nach eine halt oder reboot ist aber kein file /var/log/timekeeper.log zu sehen. Es führt das Script nicht aus.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 27.09.2006 09:32:36

Hast du das Skript wie oben gesagt wurde in die entsprechenden Runlevels verlinkt, nachdem du es nach /etc/init.d/ kopiert hast?
Laeuft das Skript, wenn du es manuell ausfuehrst?

Benutzeravatar
esteel
Beiträge: 242
Registriert: 23.07.2002 11:06:25
Kontaktdaten:

Beitrag von esteel » 27.09.2006 10:10:05

Wenn er den Aufruf einfach ins Haltskript geschrieben hat braucht er keine Links und ähnliches..
Ist das 'timekeeper' Skript auch ausführbar? Falls nicht: chmod 0755 /root/timekeeper
i support free software: http://www.fsfe.org/en/fellows/esteel
a great free and opensource FPS game: http://nexuiz.com

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 27.09.2006 10:31:40

Stimmt, aber der Pfad sieht komisch aus. Sollte das nicht /root/timekeeper statt /root/./timekeeper heissen?

Benutzeravatar
esteel
Beiträge: 242
Registriert: 23.07.2002 11:06:25
Kontaktdaten:

Beitrag von esteel » 27.09.2006 10:39:03

Der Pfad sieht komisch aus ist aber vollkommen ok. Der . heisst ja einfach nur "aktuelles Verzeichnis". /root/././././timekeeper ist schlussendlich das selbe wie /root/timekepper.
i support free software: http://www.fsfe.org/en/fellows/esteel
a great free and opensource FPS game: http://nexuiz.com

Antworten