Das Hinzufügen eines neuen Init-Skripts ist in Suse ganz einfach.
Der beste Weg wäre, ein Shell-Skript zu erstellen, das Ihr PHP-Skript aufruft. Dieses Shell-Skript sollte den folgenden Kommentar in der Kopfzeile haben:
#!/bin/sh
#chkconfig: 35 99 00
#description: Notify of boot completion
Sie finden eine typische Vorlage (mit /etc/init.d/skeleton.compat
vielen erklärenden Kommentaren) in (die die chkconfig-Syntax unterstützt, die auch 7etc/init.d/skeleton
den neueren LSB-Standard unterstützt, aber es ist etwas komplizierter, Ihnen zu erklären, wie sie eingerichtet wird, obwohl dies der Fall ist stärker). Diese Vorlage enthält den erforderlichen Code zum Einbinden Ihres PHP-Skripts. Sie sehen einen Startfall, in dem Sie Ihr PHP-Skript aufrufen müssten.
Die wichtige Nummer, die ich dir gegeben habe, ist auf der chkconfig line
.
- 35: bedeutet, dass dieses Skript entweder in Init 3 (Konsolenmodus, üblich für Server) oder in Init 5 (Grafikmodus, häufiger für Desktop) aufgerufen wird.
- 99: ist die Priorität in Init 3 oder 5. Dies bedeutet, dass es zuletzt aufgerufen wird. Beachten Sie, dass einige andere Boot-Skripte mit der Priorität 99 aufgerufen werden können.
- 00: ist die Priorität für das Herunterfahren / Neustarten. Sie können auch eine Benachrichtigung erhalten, sobald das System ausfällt.
Wenn Sie Ihr Skript geschrieben haben, kopieren Sie es, /etc/init.d
um anzunehmen, dass Ihr Init-Skript Boot-Benachrichtigung heißt. Dann würden Sie (als Root) Folgendes tun:
# chown root:root boot-notification
# chmod 0750 boot-notification
# mv boot-notification /etc/init.d/
Dann müssen Sie das Skript im Init-System "registrieren". Sie werden den chkconfig
Befehl verwenden (wieder als root):
# chkconfig --add boot-notification
Überprüfen Sie, ob dies richtig berücksichtigt wurde:
# chkconfig boot-notification
boot-notification on
Wenn Sie weiter sehen, ist es gut!
Anschließend können Sie überprüfen, ob das Skript eines der letzten ist, das ausgeführt wird, indem Sie sich die einzelnen Init-Ebenen ansehen. Wenn Sie nur Runlevel 3 gewählt haben, können Sie dies tun:
$ ls -l /etc/init.d/rc3.d/S*
Dies gibt eine Liste von Links zu Init-Skripten zurück. Der Link zu Ihrem Skript sollte sich am Ende (oder in der Nähe davon) der Liste befinden.
Hinweis: Wenn Sie mit der dynamischeren Art des Schreibens von Init-Skripten herumspielen möchten, würde ich empfehlen, diese beiden Seiten zu lesen: