Ich muss meine Wildfly AS durch .sh-Skript nach dem Systemstart (Linux-Debian) starten. Also habe ich mein eigenes Skript, das es in init.d tun sollten:debian init.d Skript läuft nicht nach Neustart
#! /bin/sh
# /etc/init.d/starter
case "$1" in
start)
echo "Starting"
nohup /home/xxx/wildfly-9.0.1.Final/bin/standalone.sh &
;;
stop)
echo "Stopping"
/home/xxx/wildfly-9.0.1.Final/bin/jboss-cli.sh --connect command=:shutdown
;;
*)
echo "Usage: /etc/init.d/starter {start|stop}"
exit 1
;;
esac
exit 0
Diese arbeitet, wenn ich es auf meinem eigenen verwenden: /etc/init.d/starter start
.
Dann habe ich Befehl verwendet, um symbolische Verknüpfungen zu erstellen: update-rc.d starter defaults
. Symlinks werden wie erwartet erzeugt, jedoch wird das Skript nach reboot
Befehl nicht ausgeführt.
Weiß jemand, was verhindert, dass mein Skript nach dem Booten ausgeführt wird? Danke für all Ihre Ratschläge.
Welche Version von Debian? Debian v6 oder höher ersetzt * update-rc.d * durch * inserve * ... siehe Debian-Wiki [Wie man einen Dienst hinzufügt, wenn man abhängigkeitsbasiertes Booten verwendet] (https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot) – agc
@agc Vielen Dank für Ihre Antwort. Im Lauf 8.3. In man insserv lese ich: "Es wird nicht empfohlen, insserv direkt auszuführen, es sei denn, Sie wissen genau, was Sie tun. Dadurch kann Ihr Boot-System funktionsunfähig werden. Update-rc.d ist die empfohlene Schnittstelle zum Verwalten von Init-Skripten." Das ist also nicht das Problem. –
Entschuldigung - das habe ich verpasst. Hmm, Berechtigungen, vielleicht. Gibt es etwas Ungewöhnliches in der Ausgabe von diesem: ** find /etc/rc?.d/ -name '* starter' -exec ls -l '{}' \; ; ls -l /etc/init.d/starter** Normalerweise sollte jeder Link im Besitz von * root * sein und der Dateimodus 'lrwxrwxrwx (0777)' sein, die Datei selbst hat den Modus '-rwxrwxr-x (0775)'. – agc