Vieles ist in Linux einfach zu bewerkstelligen, ein paar Sachen sind etwas mit Wissen zu hinterlegen bevor man sie durchführt. So auch das Starten von Applikationen beim Bootvorgang.
Nehmen wir als Beispiel mal einen Tomcat App Server. Das Programm gibt einem schon Skripte zum starten und beenden an die Hand. Das ist eigentlich auch alles was man zum weiteren Vorgehen braucht.
Im Verzeichnis /etc/init.d sind bei Linux üblicherweise die Startskripten abgelegt. Diese stellen im Normalfall 4 Parameter zur Verfügung (start/stop/restart/force-reload). Zum Starten brauchen wir… Trommelwirbel… den Start-Parameter.
Wir legen also nun für den Tomcat unter /etc/init.d eine Datei namens tomcat an (mit Root-Rechten).
sudo vi /etc/init.d/tomcat
Es kann auch jeglicher anderer Editor, wie z.B. nano genommen werden.
Anschließend befüllen wir die Datei mit Inhalt:
# Autostart script for tomcat CATALINA_HOME=path-to-tomcat-directory export JRE_HOME=path-to-jre-directory case $1 in start) sudo -u username sh $CATALINA_HOME/bin/startup.sh ;; stop) sudo -u username sh $CATALINA_HOME/bin/shutdown.sh ;; restart) sudo -u username sh $CATALINA_HOME/bin/shutdown.sh sudo -u username sh $CATALINA_HOME/bin/startup.sh ;; force-reload) sudo -u username sh $CATALINA_HOME/bin/shutdown.sh sudo -u username sh $CATALINA_HOME/bin/startup.sh ;; esac exit 0
Damit können wir schon recht komfortabel den Kater starten, aber nur manuell. Aber zumindest sind mal die einzelnen Skriptaufrufe weggekapselt.
Zum Autostart verwendet Linux sogenannte Runlevel. Natürlich hat jede größere Distribution da andere.
sudo ln -s /etc/init.d/tomcat /etc/rc1.d/K99tomcat sudo ln -s /etc/init.d/tomcat /etc/rc2.d/S99tomcat
Obige Zeilen bedeuten, dass der Tomcat im Multiusermode (rc2) gestartet wird (S99), aber beim Betreten des Singleusermode (rc1) gestoppt wird (K99).

1 Comment
Thanks a lot!