Ich habe ein SysV-Init-Skript für Fedora 18. Wie kann ich es starten, wenn das Netzwerk bereit ist?

604
mfichman

Ich habe ein SysV-Init-Skript für Fedora 18. Fedora 18 verwendet systemd (und anscheinend gibt es keine Möglichkeit, zurück zu SysV zu wechseln).

Für mein Skript muss das Netzwerk bereit sein.

<edit> Das heißt, ich muss in der Lage sein, einen anderen Host im Netzwerk über Ping zu erreichen, wenn dieses Skript ausgeführt wird. </ edit>

Derzeit ist das Netzwerk zum Zeitpunkt der Skriptausführung noch nicht bereit. Wie kann ich sicherstellen, dass mein SysV-Init-Skript ausgeführt wird, nachdem das Netzwerk aktiv ist?

Der Anfang meines Skripts sieht folgendermaßen aus:

#!/bin/bash # # chkconfig: 345 99 01 # description: starts the xyz boot service 
1
Wie komplex ist dein Skript? Die beste Wette wäre, in eine SystemD-Einheitendatei zu übersetzen (oder eine von Grund auf neu zu schreiben). vonbrand vor 10 Jahren 1

1 Antwort auf die Frage

0
JdeBP

"Zuerst fangen Sie Ihren Hasen ..."

Zuerst müssen Sie definieren, was "Netzwerk ist bereit" bedeutet. Es ist nicht einfach und Ihre Definition kann sich von einer anderen unterscheiden. Ihre Frage gibt Ihnen natürlich keine Ahnung davon, was Ihre spezielle Vorstellung von "Netzwerk ist bereit" ist.

Wenn Sie festgelegt haben, dass der Rest ist eine einfache Sache, eine Unit - Datei schreiben Sie Ihren alten System V - Shell - Skript zu ersetzen, die ohnehin eine gute Idee ist, und das Hinzufügen der notwendigen After=was auch immer (und wahrscheinlich Wants=auch immer auch) an das Gerät. Der schwierige Teil ist das, was auch immer davon abhängt, von was Sie denken, "Netzwerk ist in Ordnung" zu sein.

Wenn Sie Ihre Unit-Datei geschrieben haben, möchten Sie sie vielleicht der Welt spenden, sodass sie für die ganze Welt weniger Unit-Dateien enthält.

Ich habe die Frage bearbeitet. Könnten Sie vielleicht auf Ihre Antwort eingehen? Ich bin mir nicht sicher, was ich nach = oder Wants = setzen soll. mfichman vor 10 Jahren 0