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


1

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.

& lt; bearbeiten & gt; Das heißt, ich muss in der Lage sein, einen anderen Host im Netzwerk zu erreichen, wenn dieses Skript ausgeführt wird. & lt; / edit & gt;

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

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

Antworten:


0

"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, was Ihre besondere Vorstellung von "Netzwerk ist bereit" ist.

Wenn Sie das definiert haben, müssen Sie lediglich eine Unit-Datei schreiben, um Ihr altes System V-Shell-Skript zu ersetzen, was auf jeden Fall eine gute Idee ist After= was auch immer (und wahrscheinlich Wants= was auch immer auch) zur Einheit. Der schwierige Teil ist der was auch immer , was davon abhängt, was du denkst "Netzwerk ist auf" ist.

Wenn Sie Ihre Unit-Datei geschrieben haben, möchten Sie sie vielleicht der Welt spenden, sodass sie für die Welt eine Einheit weniger ist.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.