Stoppen Sie einen systemd-Dienst und löschen Sie alle persistenten Daten

Stoppen Sie einen systemd-Dienst und löschen Sie alle persistenten Daten

DynamicUserIch habe einen systemd-Dienst, der und in der Unit-Datei verwendet StateDirectory, sodass der Dienst ohne Datenverlust frei neu gestartet werden kann. Manchmal möchte ich jedoch alle persistenten Daten vollständig löschen und ihn aus einem leeren Zustand heraus starten. Kann ich das mit einigen Parametern für den systemctl stopBefehl tun?
BEARBEITEN: Ich suche nach einem offiziellen Parameter, systemctlder von unterstützt wird und alle persistenten Daten löscht, nicht nach einer Möglichkeit, Argumente an mein Skript zu übergeben.

Antwort1

Von demHandbuch von systemd.exec:

Die mit StateDirectory=, CacheDirectory=, LogsDirectory=, ConfigurationDirectory= angegebenen Verzeichnisse werden beim Stoppen der Einheit nicht entfernt.

Es gibt kein offizielles Argument, das unterstützt wird durchsystemdDadurch werden diese Verzeichnisse gelöscht. Sie können dazu ein Skript verwenden.

Antwort2

Sie könnensystemctl clean:

$ systemctl clean unit-name

verwandte Informationen