Linux: Autostartskript erstellen und einbinden

Am Beispiel von Ubuntu möchte ich euch zeigen, wie ihr ein Skript erstellen könnt, das automatisch beim Systemstart ausgeführt wird.

Zunächst wird eine Datei mit dem Namen “local.autostart” unter “/etc/init.d/” erstellt.

sudo touch /etc/init.d/local.autostart

Als Ausgangsbasis für das Skript kann die offizielle Vorlage “/etc/init.d/skeleton” verwendet werden. Für einfache Aufgaben kann alternativ folgendes Beispiel verwendet werden:

#! /bin/sh
### BEGIN INIT INFO
# Provides:          local.autostart
# Required-Start:    $start
# Required-Stop:     $shutdown
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Kurze Beschreibung
# Description:       Lange Bechreibung
### END INIT INFO
# Author: Name

# Aktionen
sh /home/username/scripts/test.sh

Der Kopfteil ist sehr wichtig und muss vorhanden sein, denn er wird später vom Befehl “update-rc.d” verwendet. Er darf nicht gelöscht und sollte entsprechend angepasst werden. Unterhalb von “# Aktionen” stehen dann die eigentlichen Befehle. Im Beispiel wird ein weiteres Skript ausgeführt.

Die Datei wird nun ausführbar gemacht:

sudo chmod 755 /etc/init.d/local.autostart

Abschließend fügt man das Skript mit dem Befehl “update-rc.d” in die entsprechenden Runlevel ein.

sudo update-rc.d local.autostart defaults

Unter Fedora und openSuSE ist die grundlegende Vorgehensweise identisch. Lediglich der Befehl zum Einfügen in die entsprechenden Runlevel ist anders:

chkconfig --add local.autostart
chkconfig local.autostart on

Tobi

Hallo, mein Name ist Tobias und ich habe diesen Blog im April 2009 ins Leben gerufen. Seitdem blogge ich hier über Software, Internet, Windows und andere Themen, die mich interessieren. SSDblog ist mein zweiter Blog, indem es rund um das Thema SSDs geht. Ich würde mich freuen, wenn ihr meinen Feed abonniert oder mir auf Twitter und Facebook folgt.

14 Antworten

  1. Patrick sagt:

    Der Kopf ist nicht notwendig, das klappt auch wunderbar ohne. Du hättest vielleicht nochmal beschreiben sollen, wie man über so ein Startscript auch neustarten und stoppen realisieren kann: http://www.techspread.de/6162/eigene-startscripte-fuer-linux-schreiben

    • Tobi sagt:

      Klar man kann viel machen. Hab ich aber noch nie benötigt daher auch nicht erwähnt.

    • Peter Painter sagt:

      Der Kopf mag für ein normales Script nicht nozwendig sein, aber für ein gemanagtes Autostart-Script ist er es sehr wohl. Ohne den Kopf weiß nämlich Linux nicht, wann es gestartet (mit Parameter ‘start’ aufgerufen) werden soll, welche Vorbedingungen (z.B. Festplatte) schon laufen müssen, wann es gestoppt werden muss (Aufruf mit Parameter ‘stop’), und welche Dienste es bereitstellt.
      Zumindest die Zeile “Default-Start” (mit korrektem Inhalt) ist zwingend notwendig, damit das Script jemals automatisch ausgeführt wird. Ansonsten kann ‘update-rc.d’ nichts mit ihm anfangen.

      Wer einfach nur ein Programm beim Start ausführen will, kann den Aufruf dafür einfach in /etc/rc.local packen. Dieses Script wird nach dem Startup ausgeführt.

  2. Patrick sagt:

    Also werden deine Dienste immer beim Herunterfahren des Servers einfach gekillt, statt ordentlich heruntergefahren? ;)

  3. Martin sagt:

    Hey hab mal n frage bei mir hat das nicht so ganz funktsioniert wie kann ich hierbei

    sudo update-rc.d local.autostart defaults

    den Autostart wieder rückgängig machen ? das der nicht bei jedem start immer Fehler anzeigt

  4. flo sagt:

    hi tolle Seite, bin Linux Anfänger und hab gehört das es ein script gibt, das alles mountet schon beim hochfahren, für opensuse und ubuntu, finde es aber nicht und ich kann keine scripte schreiben. Wäre für Hilfe sehr dankbar. Denn so muß man die Hardware nich immer manuell mounten. Naja bin noch ein lin anfänger tschuldigung.

  5. Wolle sagt:

    Um ein Javaprozess automatisch zu starten muss noch der Pfad zu java angegeben werden.
    Also PATH=pfad/zu/java/bin

    Sonst weiß das Skript nix mit dem Befehl java anzufangen.

  6. Leon sagt:

    Ich habe einmal eine Frage und zwar habe ich einen Linux Server und würde gerne 2 Prozesse automatisch starten wenn der Server sich in irgend einer Art und Weise startet sprich wenn er neustartet oder einfach startet. Bitte um Hilfe Ich habe es damit versucht aber das funktioniert nicht

  1. 29. Mai 2013
  2. 24. Januar 2014

    […] muss man ein Startscript mit diesem Inhalt erstellen. Wie man ein Startscript erstellt, wird hier sehr schön erklärt. Einzig die angesprochene Einstellung für DPMS hab ich nicht gefunden. […]

Schreibe einen Kommentar

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