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

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