Ich habe einen Daemon geschrieben, der nach Dateien in einem bestimmten Verzeichnis Ausschau hält und wenn eine neue Datei in dieses Verzeichnis kopiert wird, wird sie an SVN übergeben. Neue Dateien erscheinen in diesem Verzeichnis nur, wenn Remote-Geräte Dateien dorthin kopieren scp
. Jetzt möchte ich ein System-V-Init-Skript für diesen Daemon in OpenSUSE 11.4 erstellen. Es ist klar, dass diese Required-Start:
Zeile nur die Boot-Funktion enthalten sollte, $sshd
da dies sicherstellt, dass das lokale Dateisystem gemountet und das Netzwerk betriebsbereit ist und sshd
gestartet wird. Diese drei Boot-Funktionen sind Voraussetzungen für den Daemon, d. h. es hat keinen Sinn, den Daemon zu starten, wenn sshd
er nicht betriebsbereit ist und es daher unmöglich ist, dass er neue Dateien über empfängt scp
. Ich bin jedoch etwas verwirrt, wie ich die Zeile konfigurieren soll Required-Stop:
, die alle Boot-Funktionen auflistet, dieNICHTgestoppt werden, bevor der Daemon heruntergefahren wird. Es erscheint mir logisch, lokale Dateisysteme zu mounten und das Netzwerk betriebsbereit zu haben (um die Dateien auf SVN hochzuladen), während sshd
angehalten wird (um keine neuen Dateien zu empfangen), bevor der Daemon gestoppt wird. Required-Stop: $sshd
könnte eine Situation schaffen, in der der Daemon angehalten wird, während eine neue Datei empfangen wird, scp
bevor er sshd
angehalten wird.
Kurz gesagt erscheint mir der folgende Ansatz am logischsten:
# Required-Start: $sshd
# Required-Stop: $local_fs $network
Hab ich recht?
Antwort1
Entsprechendhttps://wiki.debian.org/LSBInitScriptsim Abschnitt überRequired-Stop
Normalerweise würden Sie hier dieselben Möglichkeiten einschließen wie für das Schlüsselwort „Required-Start“.
Dass dieses Skript vor ssh
dem Start ausgeführt wird, ist kein Problem, wie Sie im OP vorgeschlagen haben. Es bedeutet nur, dass dieser Daemon auf Dateien wartet, die vor dem ssh
Start nicht angezeigt werden. Dieses Skript benötigt jedoch definitiv die Funktionalität von $local_fs
und $network
daher würde ich die folgenden beiden Zeilen verwenden
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network