Eigene Startscripte für Linux schreiben

Ab und zu kommt es mal vor, dass man Serverdienste manuell installiert oder dass man eigene Serverdienste schreibt, die beim Systemstart mitgestartet werden sollen. Hierzu kann man sich einfache Startscripte schreiben, die beim Bootvorgang des entsprechenden Linux-Systems automatisch mitgestartet werden können. Hier erfährst du, wie man grundsätzlich eigene Startscripte schreibt und wie man sie aktiviert.

Zunächst einmal erstellst du unter /etc/init.d eine Textdatei mit einem aussagekräftigen Namen, der zu dem jeweiligen Dienst passt. In diese Datei kopierst du folgendes:

#! /bin/bash

case "$1" in
	start)
		# Anweisungen zum Starten hier eingeben
		;;
	stop)
		# Anweisungen zum Stoppen hier eingeben
		;;
	restart)
		$0 stop
		$0 start
		;;
	*)
		echo "Usage: $0 {start|stop|restart}"
		;;
esac

Wie dir vielleicht auffällt, ist dies ein ganz normales Bashscript. An den entsprechenden Stellen setzt du die auszuführenden Anweisungen zum Starten und Stoppen des Dienstes ein. Zudem kannst du nach der ersten Zeile Variablen festlegen, die für das gesamte Script oder auch für das ganze System gelten sollen. <Dienst> muss in dem Script natürlich durch deinen Scriptnamen ausgetauscht werden.

Nachdem du alle Anweisungen ergänzt hast, muss das Script noch ausführbar gemacht und in den Bootvorgang eingebunden werden:

chmod +x /etc/init.d/<Dienst>
update-rc.d <Dienst> defaults

Hier muss natürlich wieder <Dienst> entsprechend angepasst werden. Beim Systemstart wird automatisch das Script gefolgt von start aufgerufen, sodass der start-Block ausgeführt wird. Eventuell solltest du für den Dienst noch einen eigenen Benutzer anlegen, mit dem der Dienst ausgeführt wird, damit der Dienst nicht mit root-Rechten läuft. Dazu musst du dann natürlich noch entsprechende sudo-Anweisungen zu dem Script hinzufügen :)

Wenn du noch Fragen hast oder weitere Erklärungen benötigst, hinterlasse mir einfach einen Kommentar :)

Veröffentlicht am 31.12.2010

3 Kommentare

  • Ikem schrieb am 5. Februar 2011

    Danke für den Tipp. :)

  • jilk schrieb am 3. Mai 2012

    Moin,
    das ist schonmal ein guter Tipp, aber da ich selber noch Anfänger in dem Bereich bin, wäre es total super, wenn du nochmal näher erläutern könntest, wie man das Script beim Systemstart mit einem nicht-root-Benutzer aufruft.
    Danke :)

  • Patrick schrieb am 3. Mai 2012

    Hallo jilk,

    diese Art der Startscripte werden immer mit root-Rechten ausgeführt. Du kannst lediglich mit sudo auf einen anderen Benutzer umschwenken. Möchtest du einfach bei der Anmeldung deines Benutzers bestimmte Aktionen durchführen, musst du die entsprechenden Kommandos in die Datei .profiles direkt in deinem Benutzerverzeichnis schreiben. Geht es um den automatischen Start z.B. eines Browsers nach der Anmeldung bei der grafischen Benutzeroberfläche, dann findest du sicherlich in den Einstellungen der Oberfläche etwas entsprechendes.

    Gruß
    Patrick

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>