SYSTEMD.PATH(5) systemd.path SYSTEMD.PATH(5) BEZEICHNUNG systemd.path - Pfad-Unit-Konfiguration UBERSICHT Pfad.path BESCHREIBUNG Eine Unit-Konfigurationsdatei, deren Namen in >>.path<< endet, kodiert Informationen uber einen durch Systemd uberwachten Pfad, fur Pfad-basierte Aktivierung. Diese Handbuchseite fuhrt die fur diesen Unit-Typ spezifischen Konfigurationsoptionen auf. Siehe systemd.unit(5) fur die gemeinsamen Optionen aller Unit-Konfigurationsdateien. Die gemeinsamen Konfigurationseintrage werden in den generischen Abschnitten >>[Unit]<< und >>[Install]<< konfiguriert. Die Pfad-spezifischen Konfigurationsoptionen werden in dem Abschnitt >>[Path]<< konfiguriert. Fur jede Pfaddatei muss eine passende Unit-Datei existieren, welche die bei Anderungen von Pfaden zu aktivierende Unit beschreibt. Standardmassig wird ein Dienst mit dem gleichen Namen (ausser 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 uberwachen. Daher unterliegen sie den gleichen Beschrankungen wie Inotify und konnen beispielsweise keine Dateien oder Verzeichnisse uberwachen, die von anderen Maschinen auf fernen NFS-Dateisystemen geandert werden. Wenn eine Dienste-Unit ausgelost wird, weil sich eine Pfad-Unit beendet (unabhangig davon, ob sie sich erfolgreich beendete oder fehlschlug), werden uberwachte Pfade sofort erneut uberpruft und der Dienst entsprechend neugestartet. Als Schutz gegen Dauerschleifen in diesem Auslose-/Startzyklus wird eine Startratenbegrenzung fur diese Dienste-Unit erzwungen, siehe StartLimitIntervalSec= und StartLimitBurst= in systemd.unit(5). Anders als andere Dienstefehlschlage, wird die Fehlerbedingung, dass die Startratenbegrenzung erreicht wurde, von der Dienste-Unit zu der Pfad-Unit weitergeleitet und fuhrt dazu, dass auch die Pfad-Unit fehlschlagt und damit die Schleife beendet wird. AUTOMATISCHE ABHANGIGKEITEN Implizite Abhangigkeiten Die folgenden Abhangigkeiten werden implizit hinzugefugt: o Falls eine Pfad-Unit unterhalb einer anderen Einhange-Unit in der Dateisystemhierarchie ist, werden sowohl eine Bedingungs- als auch eine Ordnungsabhangigkeit automatisch erstellt. o Zwischen einer Pfad-Unit und der Unit, die sie aktivieren soll, wird eine implizite Before=-Abhangigkeit hinzugefugt. Standardabhangigkeiten Die folgenden Abhangigkeiten werden hinzugefugt, es sei denn, DefaultDependencies=no ist gesetzt: o Pfad-Units werden automatisch Abhangigkeiten vom Typ Before= von paths.target, Abhangigkeiten vom Typ After= und Requires= von sysinit.target und Abhangigkeiten 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 fruhen Systemstartphase oder spat beim Herunterfahren beteiligt sind, sollten die Option DefaultDependencies= deaktivieren. OPTIONEN Pfad-Unit-Dateien konnen Abschnitte [Unit] und [Install] enthalten, die in systemd.unit(5) beschrieben sind. Pfad-Unit-Dateien mussen einen Abschnitt [Path] enthalten, der Informationen uber den oder die uberwachten Pfad(e) transportiert. Die fur den Abschnitt [Path] von Pfad-Units speziellen Optionen sind: PathExists=, PathExistsGlob=, PathChanged=, PathModified=, DirectoryNotEmpty= Definiert die auf bestimmte Anderungen zu uberwachenden 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 ahnlich, aber pruft 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 andert, verwandt werden. Sie wird nicht bei jedem Schreibzugriff auf die beobachtete Datei aktiviert, sondern sie wird aktiviert, wenn die fur das Schreiben geoffnete Datei geschlossen wird. PathModified= ist ahnlich, aber zusatzlich 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 enthalt. Die Argumente dieser Anweisungen mussen absolute Dateisystempfade sein. Mehrere Verzeichnisse des gleichen Typs oder unterschiedlicher Typen konnen kombiniert werden, um mehrere Pfade zu beobachten. Falls einer der Optionen die leere Zeichenkette zugeordnet wird, wird die Liste der zu beobachtenden Pfade zuruckgesetzt 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. Fur PathChanged= und PathModified= gilt etwas ahnliches nicht. Falls der Pfad selbst oder eines der enthaltenen Verzeichnisse nicht zugreifbar ist, wird systemd auf Rechteanderungen prufen und bemerken, dass die Bedingungen erfullt sind, wenn die Berechtigungen es erlauben. Unit= Die zu aktivierende Unit, wenn sich eine der konfigurierten Pfade andert. Das Argument ist ein Unit-Name, deren Endung nicht >>.path<< ist. Falls nicht angegeben, ist die Vorgabe fur 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 fur PathExists=-Einstellungen ignoriert. Standardmassig 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. Standardmassig 0755. TriggerLimitIntervalSec=, TriggerLimitBurst= Konfiguriert eine Begrenzung, wie oft diese Pfad-Unit innerhalb eines bestimmten Zeitintervalls aktiviert werden darf. Das TriggerLimitIntervalSec= kann zum Konfigurieren der Lange des Zeitintervalls in den gewohnlichen Zeiteinheiten >>ms<<, >>s<<, >>min<<, >>h<< verwandt werden und betragt standardmassig 2s. Siehe systemd.time(7) fur Details uber die verschiedenen verstandenen Zeiteinheiten. Die Einstellung TriggerLimitBurst= akzeptiert einen positiven Ganzzahlwert und legt die Anzahl der erlaubten Aktivierungen pro Zeitintervall fest und betragt standardmassig 200. Setzen Sie einen der beiden auf 0, um jede Art von Auslose-Ratebeschrankung zu deaktivieren. Falls diese Beschrankung erreicht wird, wird die Unit in den Fehlschlagmodus versetzt und wird die Pfade nicht mehr uberwachen, bis sie neu gestartet wird. Beachten Sie, dass diese Beschrankung durchgesetzt wird, bevor die Diensteaktivierung in die Warteschlange eingestellt wird. Hinzugefugt in Version 250. Lesen Sie systemd.unit(5), systemd.exec(5) und systemd.kill(5) fur weitere Einstellungen. SIEHE AUCH Fur die ausgelosten Units werden Umgebungsvariablen mit Details uber den Trigger gesetzt. Siehe den Abschnitt >>Vom Diensteverwalter gesetzte oder ausgebreitete Umgebungsvariablen<< in systemd.exec(5) fur weitere Details. systemd(1), systemctl(1), systemd.unit(5), systemd.service(5), inotify(7), systemd.directives(7) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . systemd 255 SYSTEMD.PATH(5)