Eigenes Skript automatisch über init.d aufrufen

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
AndreasMeier
Beiträge: 373
Registriert: 14.04.2005 06:21:58

Eigenes Skript automatisch über init.d aufrufen

Beitrag von AndreasMeier » 24.01.2009 12:11:37

Hallo zusammen,

ich hab mit powertop mir etliche Befehle zum Stromsparen für mein Thinkpad rausgeschrieben.
Ich hatte mir dazu ein kleines Shellskript geschrieben, dass ich dann manuell aufgerufen habe.
Ist ja mit der Zeit aber auch nervig, daher möchte ich das nun beim Booten automatisch aufrufen.
Das Skript schaut im Moment so aus:

Code: Alles auswählen

#!/bin/sh
echo 1 > /sys/module/snd_ac97_codec/parameters/power_save
iwpriv eth1 set_power 5
xrandr --output TMDS --off
ethtool -s eth0 wol d
ethtool -s eth0 autoneg off speed 100
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
hal-disable-polling --device /dev/cdrom
rovclock -c 80 -m 160
Kann ich dieses Skript, so wie es ist, in dem Verzeichnis "/etc/init.d" ablegen, das Skript ausführbar machen und dann den Befehl

Code: Alles auswählen

update-rc.d eigenes_skript defaults
ausführen ?
Reicht das schon, oder muss ich das Skript noch modifizieren ?

Danke und Gruß
Andreas

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: Eigenes Skript automatisch über init.d aufrufen

Beitrag von Duff » 24.01.2009 12:32:01

Sollte meiner Meinung nach so reichen. Es sei denn, es müssen andere Dienste zuvor gestartet sein oder danach. Dann müsstest du noch eine Nummer für die Reihenfolge mit angeben.
Oh, yeah!

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Eigenes Skript automatisch über init.d aufrufen

Beitrag von rendegast » 24.01.2009 13:14:03

Ich schlage vor in /etc/rc.boot/
oder über /etc/rc.local aufgerufen ("at the end of each multiuser runlevel").

xrandr bringt wohl nichts, wenn X noch nicht läuft?
Eher in /etc/kde3/kdm/Xsetup
oder den Autostart des Windowmanagers/DesktopEnvironments ?

Achten, daß die Exitwerte keine Auswirkungen für die Skriptausführung haben.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

AndreasMeier
Beiträge: 373
Registriert: 14.04.2005 06:21:58

Re: Eigenes Skript automatisch über init.d aufrufen

Beitrag von AndreasMeier » 25.01.2009 09:44:01

Also, den Xrand-Befehl hab ich in /etc/kde3/kdm/Xsetup eingetragen.
Allerdings liefert der Befehl eine Fehlermeldung aus, ich nehme an, dass ich das zugehörige Paket noch nicht installiert habe.
Hintergrund: ich hab mein System neu aufsetzen müssen und übertrage gerade so nach und nach die Einstellungen.

Den Rest der Befehle hab ich als eigenes Skript in /etc/init.d eingetragen.
/etc/rc.boot/ hab ich nicht gefunden, weder Verzeichnis noch Datei.
Die /etc/rc.local sah so leer aus, nur Kommentare drin, daher wusste ich nicht, was ich dort machen muss.

Kann ich es noch erreichen, dass mir die o.g. Befehle auch nen Eintrag während des Bootvorgangs schreiben, damit man sieht, dass sie ausgeführt wurden ?
So ne Meldung wie halt z.B. "Apache started" o.ä. ?

Danke und Gruß
Andreas

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Eigenes Skript automatisch über init.d aufrufen

Beitrag von rendegast » 25.01.2009 16:25:38

/etc/rc.boot/ hab ich nicht gefunden, weder Verzeichnis noch Datei.
Einfach erstellen.
Der Aufruf kommt aus /etc/init.d/rc :

Code: Alles auswählen

if [ S = "$runlevel" ]
then
	#
	# For compatibility, run the files in /etc/rc.boot too.
	#
	[ -d /etc/rc.boot ] && run-parts /etc/rc.boot
fi
Die /etc/rc.local sah so leer aus, nur Kommentare drin, daher wusste ich nicht, was ich dort machen muss.
Steht doch eigentlich da, /etc/rc.local :

Code: Alles auswählen

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

exit 0
Befehle werden vor dem 'exit 0' eingegeben, die Datei muß ausführbar sein.



Meldungen:
Viele init.d/-Skripte beachten den Parameter 'VERBOSE=yes' aus /etc/default/rcS.
Hier speziell angesprochen das apache-Startskript meldet sich aber.
Ein Beispiel für eine einfache bedingte Meldung:

Code: Alles auswählen

befehl && echo "befehl ausgeführt"
Ich muß eingestehen, daß init.d/-Skripte nur vorsichtig mit Meldungen oder Markern versehen werden dürfen,
da dort möglicherweise EXIT-Werte verändert werden, auf die das Skript angewiesen ist.
Insbesondere bei log_daemon oder start-stop-daemon ...
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten