BEZEICHNUNG
systemd.path - Pfad-Unit-KonfigurationÜBERSICHT
Pfad.pathBESCHREIBUNG
Eine Unit-Konfigurationsdatei, deren Namen in ».path« endet, kodiert Informationen über einen durch Systemd überwachten Pfad, für Pfad-basierte Aktivierung. Diese Handbuchseite führt die für diesen Unit-Typ spezifischen Konfigurationsoptionen auf. Siehe systemd.unit(5) für die gemeinsamen Optionen aller Unit-Konfigurationsdateien. Die gemeinsamen Konfigurationseinträge werden in den generischen Abschnitten »[Unit]« und »[Install]« konfiguriert. Die Pfad-spezifischen Konfigurationsoptionen werden in dem Abschnitt »[Path]« konfiguriert. Für jede Pfaddatei muss eine passende Unit-Datei existieren, welche die bei Änderungen von Pfaden zu aktivierende Unit beschreibt. Standardmäßig wird ein Dienst mit dem gleichen Namen (außer der Endung) wie der Pfad aktiviert. Beispiel: Eine Pfad-Datei foo.path aktiviert einen passenden Dienst foo.service. Die zu aktivierende Unit kann mit Unit= (siehe unten) gesteuert werden. Intern verwenden Pfad-Units das inotify(7)-API, um Dateisysteme zu überwachen. Daher unterliegen sie den gleichen Beschränkungen wie Inotify und können beispielsweise keine Dateien oder Verzeichnisse überwachen, die von anderen Maschinen auf fernen NFS-Dateisystemen geändert werden. Wenn eine Dienste-Unit ausgelöst wird, weil sich eine Pfad-Unit beendet (unabhängig davon, ob sie sich erfolgreich beendete oder fehlschlug), werden überwachte Pfade sofort erneut überprüft und der Dienst entsprechend neugestartet. Als Schutz gegen Dauerschleifen in diesem Auslöse-/Startzyklus wird eine Startratenbegrenzung für diese Dienste-Unit erzwungen, siehe StartLimitIntervalSec= und StartLimitBurst= in systemd.unit(5). Anders als andere Dienstefehlschläge, wird die Fehlerbedingung, dass die Startratenbegrenzung erreicht wurde, von der Dienste-Unit zu der Pfad-Unit weitergeleitet und führt dazu, dass auch die Pfad-Unit fehlschlägt und damit die Schleife beendet wird.AUTOMATISCHE ABHÄNGIGKEITEN
Implizite Abhängigkeiten
Die folgenden Abhängigkeiten werden implizit hinzugefügt:•Falls eine Pfad-Unit unterhalb einer
anderen Einhänge-Unit in der Dateisystemhierarchie ist, werden sowohl
eine Bedingungs- als auch eine Ordnungsabhängigkeit automatisch
erstellt.
•Zwischen einer Pfad-Unit und der Unit,
die sie aktivieren soll, wird eine implizite
Before=-Abhängigkeit hinzugefügt.
Standardabhängigkeiten
Die folgenden Abhängigkeiten werden hinzugefügt, es sei denn, DefaultDependencies=no ist gesetzt:•Pfad-Units werden automatisch
Abhängigkeiten vom Typ Before= von paths.target,
Abhängigkeiten vom Typ After= und Requires= von
sysinit.target und Abhängigkeiten vom Typ Conflicts= und
Before= von shutdown.target haben. Dies stellt sicher, dass Pfad-Units
sauber vor dem Herunterfahren des Systems beendet werden. Nur Pfad-Units, die
in der frühen Systemstartphase oder spät beim Herunterfahren
beteiligt sind, sollten die Option DefaultDependencies=
deaktivieren.
OPTIONEN
Pfad-Unit-Dateien können Abschnitte [Unit] und [Install] enthalten, die in systemd.unit(5) beschrieben sind. Pfad-Unit-Dateien müssen einen Abschnitt [Path] enthalten, der Informationen über den oder die überwachten Pfad(e) transportiert. Die für den Abschnitt [Path] von Pfad-Units speziellen Optionen sind: PathExists=, PathExistsGlob=, PathChanged=, PathModified=, DirectoryNotEmpty=Definiert die auf bestimmte Änderungen
zu überwachenden Pfade: PathExists= kann zum Beobachten der
simplen Existenz einer Datei oder eines Verzeichnisses verwandt werden. Falls
die Datei existiert, wird die konfigurierte Unit aktiviert.
PathExistsGlob= funktioniert ähnlich, aber prüft auf die
Existenz mindestens einer Datei, die auf das angegebene Glob-Muster passt.
PathChanged= kann zum Beobachten einer Datei oder eines Verzeichnisses
und zum Aktivieren der konfigurierten Unit, wenn es/sie sich ändert,
verwandt werden. Sie wird nicht bei jedem Schreibzugriff auf die beobachtete
Datei aktiviert, sondern sie wird aktiviert, wenn die für das Schreiben
geöffnete Datei geschlossen wird. PathModified= ist
ähnlich, aber zusätzlich wird sie bei einfachen Schreibzugriffen
auf die beobachtete Datei aktiviert. DirectoryNotEmpty= kann dazu
verwandt werden, ein Verzeichnis zu beobachten und die konfigurierte Unit zu
aktivieren, wenn es mindestens eine Datei enthält.
Die Argumente dieser Anweisungen müssen absolute Dateisystempfade sein.
Mehrere Verzeichnisse des gleichen Typs oder unterschiedlicher Typen
können kombiniert werden, um mehrere Pfade zu beobachten. Falls einer
der Optionen die leere Zeichenkette zugeordnet wird, wird die Liste der zu
beobachtenden Pfade zurückgesetzt und jede vorherige Zuweisung von
diesen Optionen wird keinen Effekt zeigen.
Falls zum Zeitpunkt der Aktivierung der Unit ein Pfad bereits existiert (im
Falle von PathExists= und PathExistsGlob=) oder ein Verzeichnis
bereits nicht leer ist (im Falle von DirectoryNotEmpty=), dann wird die
konfigurierte Unit auch sofort aktiviert. Für PathChanged= und
PathModified= gilt etwas ähnliches nicht.
Falls der Pfad selbst oder eines der enthaltenen Verzeichnisse nicht zugreifbar
ist, wird systemd auf Rechteänderungen prüfen und
bemerken, dass die Bedingungen erfüllt sind, wenn die Berechtigungen es
erlauben.
Unit=
Die zu aktivierende Unit, wenn sich eine der
konfigurierten Pfade ändert. Das Argument ist ein Unit-Name, deren
Endung nicht ».path« ist. Falls nicht angegeben, ist die Vorgabe
für diesen Wert der Dienst, der bis auf die Endung den gleichen Namen
wie die Pfad-Unit hat. (Siehe oben.) Es wird empfohlen, dass der Unit-Name,
der aktiviert wird, und der Unit-Name der Pfad-Unit abgesehen von der Endung
identisch sind.
MakeDirectory=
Akzeptiert ein logisches Argument. Falls wahr,
werden die zu beobachtenden Verzeichnis vor der Beobachtung erstellt. Diese
Option wird für PathExists=-Einstellungen ignoriert.
Standardmäßig false.
DirectoryMode=
Falls MakeDirectory= aktiviert ist,
wird der hier festgelegte Modus verwandt, um die in Frage kommenden
Verzeichnisse zu erstellen. Akzeptiert einen Zugriffsmodus in oktaler
Notation. Standardmäßig 0755.
TriggerLimitIntervalSec=, TriggerLimitBurst=
Konfiguriert eine Begrenzung, wie oft diese
Pfad-Unit innerhalb eines bestimmten Zeitintervalls aktiviert werden darf. Das
TriggerLimitIntervalSec= kann zum Konfigurieren der Länge des
Zeitintervalls in den gewöhnlichen Zeiteinheiten »ms«,
»s«, »min«, »h« … verwandt
werden und beträgt standardmäßig 2s. Siehe
systemd.time(7) für Details über die verschiedenen
verstandenen Zeiteinheiten. Die Einstellung TriggerLimitBurst=
akzeptiert einen positiven Ganzzahlwert und legt die Anzahl der erlaubten
Aktivierungen pro Zeitintervall fest und beträgt
standardmäßig 200. Setzen Sie einen der beiden auf 0, um jede
Art von Auslöse-Ratebeschränkung zu deaktivieren. Falls diese
Beschränkung erreicht wird, wird die Unit in den Fehlschlagmodus
versetzt und wird die Pfade nicht mehr überwachen, bis sie neu
gestartet wird. Beachten Sie, dass diese Beschränkung durchgesetzt
wird, bevor die Diensteaktivierung in die Warteschlange eingestellt
wird.
Lesen Sie systemd.unit(5), systemd.exec(5) und
systemd.kill(5) für weitere Einstellungen.
SIEHE AUCH
Für die ausgelösten Units werden Umgebungsvariablen mit Details über den Trigger gesetzt. Siehe den Abschnitt »Auf ausgelöste Units gesetzte Umgebungsvariablen« in systemd.exec(5) für weitere Details. systemd(1), systemctl(1), systemd.unit(5), systemd.service(5), inotify(7), systemd.directives(7)ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <[email protected]> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzersystemd 252 |