diff options
Diffstat (limited to 'man/systemd.path.xml')
-rw-r--r-- | man/systemd.path.xml | 220 |
1 files changed, 220 insertions, 0 deletions
diff --git a/man/systemd.path.xml b/man/systemd.path.xml new file mode 100644 index 0000000000..5b1ff75f7a --- /dev/null +++ b/man/systemd.path.xml @@ -0,0 +1,220 @@ +<?xml version='1.0'?> <!--*-nxml-*--> +<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> + +<!-- + This file is part of systemd. + + Copyright 2010 Lennart Poettering + + systemd is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + systemd is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with systemd; If not, see <http://www.gnu.org/licenses/>. +--> + +<refentry id="systemd.path"> + <refentryinfo> + <title>systemd.path</title> + <productname>systemd</productname> + + <authorgroup> + <author> + <contrib>Developer</contrib> + <firstname>Lennart</firstname> + <surname>Poettering</surname> + <email>lennart@poettering.net</email> + </author> + </authorgroup> + </refentryinfo> + + <refmeta> + <refentrytitle>systemd.path</refentrytitle> + <manvolnum>5</manvolnum> + </refmeta> + + <refnamediv> + <refname>systemd.path</refname> + <refpurpose>systemd path configuration files</refpurpose> + </refnamediv> + + <refsynopsisdiv> + <para><filename>systemd.path</filename></para> + </refsynopsisdiv> + + <refsect1> + <title>Description</title> + + <para>A unit configuration file whose name ends in + <filename>.path</filename> encodes information about + a path monitored by systemd, for + path-based activation.</para> + + <para>This man page lists the configuration options + specific to this unit type. See + <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry> + for the common options of all unit configuration + files. The common configuration items are configured + in the generic [Unit] and [Install] sections. The + path specific configuration options are configured in + the [Path] section.</para> + + <para>For each path file, a matching unit file must + exist, describing the unit to activate when the path + changes. By default, a service by the same name as the + path (except for the suffix) is activated. Example: a + path file <filename>foo.path</filename> activates a + matching service <filename>foo.service</filename>. The + unit to activate may be controlled by + <varname>Unit=</varname> (see below).</para> + + <para>Internally, path units use the + <citerefentry><refentrytitle>inotify</refentrytitle><manvolnum>7</manvolnum></citerefentry> + API to monitor file systems. Due to that, it suffers by the + same limitations as inotify, and for example cannot be + used to monitor files or directories changed by other + machines on remote NFS file systems.</para> + + <para>If an path unit is beneath another mount + point in the file system hierarchy, a dependency + between both units is created automatically.</para> + + <para>Unless <varname>DefaultDependencies=</varname> + is set to <option>false</option>, path units will + implicitly have dependencies of type + <varname>Conflicts=</varname> and + <varname>Before=</varname> on + <filename>shutdown.target</filename>. These ensure + that path units are terminated cleanly prior to system + shutdown. Only path units involved with early boot or + late system shutdown should disable this + option.</para> + </refsect1> + + <refsect1> + <title>Options</title> + + <para>Path files must include a [Path] section, + which carries information about the path(s) it + monitors. The options specific to the [Path] section + of path units are the following:</para> + + <variablelist> + <varlistentry> + <term><varname>PathExists=</varname></term> + <term><varname>PathExistsGlob=</varname></term> + <term><varname>PathChanged=</varname></term> + <term><varname>PathModified=</varname></term> + <term><varname>DirectoryNotEmpty=</varname></term> + + <listitem><para>Defines paths to + monitor for certain changes: + <varname>PathExists=</varname> may be + used to watch the mere existence of a + file or directory. If the file + specified exists the configured unit + is + activated. <varname>PathExistsGlob=</varname> + works similar, but checks for the + existance of at least one file + matching the globbing pattern + specified. <varname>PathChanged=</varname> + may be used to watch a file or + directory and activate the configured + unit whenever it changes. It is not activated + on every write to the watched file but it is + activated if the file which was open for writing + gets closed. <varname>PathModified=</varname> + is similar, but additionally it is activated + also on simple writes to the watched file. + + <varname>DirectoryNotEmpty=</varname> + may be used to watch a directory and + activate the configured unit whenever + it contains at least one file.</para> + + <para>The arguments of these + directives must be absolute file + system paths.</para> + + <para>Multiple directives may be + combined, of the same and of different + types, to watch multiple paths.</para> + + <para>If a path is already existing + (in case of + <varname>PathExists=</varname> and + <varname>PathExistsGlob=</varname>) or + a directory already is not empty (in + case of + <varname>DirectoryNotEmpty=</varname>) + at the time the path unit is + activated, then the configured unit is + immediately activated as + well. Something similar does not apply + to <varname>PathChanged=</varname>. + </para></listitem> + </varlistentry> + <varlistentry> + <term><varname>Unit=</varname></term> + + <listitem><para>The unit to activate + when any of the configured paths + changes. The argument is a unit name, + whose suffix is not + <filename>.path</filename>. If not + specified, this value defaults to a + service that has the same name as the + path unit, except for the suffix. (See + above.) It is recommended that the + unit name that is activated and the + unit name of the path unit are named + identical, except for the + suffix.</para></listitem> + </varlistentry> + <varlistentry> + <term><varname>MakeDirectory=</varname></term> + + <listitem><para>Takes a boolean + argument. If true the directories to + watch are created before + watching. This option is ignored for + <varname>PathExists=</varname> + settings. Defaults to + <option>false</option>.</para></listitem> + </varlistentry> + <varlistentry> + <term><varname>DirectoryMode=</varname></term> + + <listitem><para>If + <varname>MakeDirectory=</varname> is + enabled use the mode specified here to + create the directories in + question. Takes an access mode in + octal notation. Defaults to + <option>0755</option>.</para></listitem> + </varlistentry> + </variablelist> + </refsect1> + + <refsect1> + <title>See Also</title> + <para> + <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, + <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>, + <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>, + <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>, + <citerefentry><refentrytitle>inotify</refentrytitle><manvolnum>7</manvolnum></citerefentry> + </para> + </refsect1> + +</refentry> |