Gibt es unter Linux ein rc.local-Äquivalent zum Herunterfahren?

10

Ich habe einige Befehle, die ich ausführe, rc.localdamit sie zuletzt in der Startsequenz ausgeführt werden. Ich würde gerne wissen, ob es eine ähnliche Möglichkeit gibt, die Ergebnisse dieser Befehle beim Herunterfahren rückgängig zu machen, wie z rc.shutdown. Im Idealfall wird es vor einem der anderen /etc/init.dSkripte ausgeführt.

kbyrd
quelle
3
Dies ist stark verteilungsabhängig. Bitte fügen Sie Informationen zu Ihrer Distribution hinzu.
Rozcietrzewiacz

Antworten:

8

Nicht wirklich (zumindest meines Wissens).

Wenn Sie Init-Skripte im SystemV-Stil haben, können Sie etwas in Anlehnung an /etc/rc6.K00scriptnameund erstellen /etc/rc0.d/K00scriptname, das vor allen anderen Skripten ausgeführt werden soll.

Matt Simmons
quelle
4

ArchLinux hat dafür eine /etc/rc.local.shutdownDatei. Bei anderen Distributionen bin ich mir nicht sicher

Stefan
quelle
2

Dies ist im Allgemeinen möglich, hängt jedoch von Ihrem Init-Scripts-System ab. Wenn Ihre Distribution eine aktuelle Version von OpenRC verwendet (wie Gentoo), können Sie alle Skripte einfügen/etc/local.d/ , sie aufrufen <something>.stopund sie werden beim Herunterfahren des Systems ausgeführt. Bei älteren Versionen müssten Sie Ihre Befehle in die local_stop()Funktion eingeben /etc/conf.d/local.

Die Reihenfolge hängt von den Einstellungen des RC-Systems ab. In der Regel werden die lokalen Skripts jedoch beim Start als letztes und beim Herunterfahren als erstes ausgeführt.

rozcietrzewiacz
quelle
1

Wenn Sie einen Upstart haben, können Sie das Shutdown-Ereignis abfangen und ein Skript ausführen, wenn es abgefangen wird.

txwikinger
quelle
1

In Gentoo macht das "lokale" Skript genau das, wonach Sie fragen: Es führt bestimmte benutzerdefinierte Befehle beim Starten und einen weiteren Befehlssatz beim Stoppen aus.

tante
quelle