chiark / gitweb /
journald: move /dev/log socket to /run
[elogind.git] / man / systemd.path.xml
index 7721900..8d86fca 100644 (file)
@@ -9,16 +9,16 @@
   Copyright 2010 Lennart Poettering
 
   systemd is free software; you can redistribute it and/or modify it
   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
+  under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 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
   (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.
+  Lesser General Public License for more details.
 
 
-  You should have received a copy of the GNU General Public License
+  You should have received a copy of the GNU Lesser General Public License
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 -->
 
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 -->
 
 
         <refnamediv>
                 <refname>systemd.path</refname>
 
         <refnamediv>
                 <refname>systemd.path</refname>
-                <refpurpose>systemd path configuration files</refpurpose>
+                <refpurpose>Path unit configuration</refpurpose>
         </refnamediv>
 
         <refsynopsisdiv>
         </refnamediv>
 
         <refsynopsisdiv>
-                <para><filename>systemd.path</filename></para>
+                <para><filename><replaceable>path</replaceable>.path</filename></para>
         </refsynopsisdiv>
 
         <refsect1>
                 <title>Description</title>
 
                 <para>A unit configuration file whose name ends in
         </refsynopsisdiv>
 
         <refsect1>
                 <title>Description</title>
 
                 <para>A unit configuration file whose name ends in
-                <filename>.path</filename> encodes information about
+                <literal>.path</literal> encodes information about
                 a path monitored by systemd, for
                 path-based activation.</para>
 
                 a path monitored by systemd, for
                 path-based activation.</para>
 
                 used to monitor files or directories changed by other
                 machines on remote NFS file systems.</para>
 
                 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
+                <para>If a path unit is beneath another mount
                 point in the file system hierarchy, a dependency
                 between both units is created automatically.</para>
                 point in the file system hierarchy, a dependency
                 between both units is created automatically.</para>
+
+                <para>Unless <varname>DefaultDependencies=false</varname>
+                is used, 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>
         </refsect1>
 
         <refsect1>
                 monitors. The options specific to the [Path] section
                 of path units are the following:</para>
 
                 monitors. The options specific to the [Path] section
                 of path units are the following:</para>
 
-                <variablelist>
+                <variablelist class='unit-directives'>
                         <varlistentry>
                                 <term><varname>PathExists=</varname></term>
                         <varlistentry>
                                 <term><varname>PathExists=</varname></term>
+                                <term><varname>PathExistsGlob=</varname></term>
                                 <term><varname>PathChanged=</varname></term>
                                 <term><varname>PathChanged=</varname></term>
+                                <term><varname>PathModified=</varname></term>
                                 <term><varname>DirectoryNotEmpty=</varname></term>
 
                                 <listitem><para>Defines paths to
                                 <term><varname>DirectoryNotEmpty=</varname></term>
 
                                 <listitem><para>Defines paths to
                                 <varname>PathExists=</varname> may be
                                 used to watch the mere existence of a
                                 file or directory. If the file
                                 <varname>PathExists=</varname> may be
                                 used to watch the mere existence of a
                                 file or directory. If the file
-                                specified exists the configured unit
+                                specified exists, the configured unit
                                 is
                                 is
-                                activated. <varname>PathChanged=</varname>
+                                activated. <varname>PathExistsGlob=</varname>
+                                works similar, but checks for the
+                                existence 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
                                 may be used to watch a file or
                                 directory and activate the configured
-                                unit whenever it changes or is
-                                modified. <varname>DirectoryNotEmpty=</varname>
+                                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>
                                 may be used to watch a directory and
                                 activate the configured unit whenever
                                 it contains at least one file.</para>
 
                                 <para>Multiple directives may be
                                 combined, of the same and of different
 
                                 <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
+                                types, to watch multiple paths. If the
+                                empty string is assigned to any of
+                                these options, the list of paths to
+                                watch is reset, and any prior
+                                assignments of these options will not
+                                have any effect.</para>
+
+                                <para>If a path already exists
                                 (in case of
                                 (in case of
-                                <varname>PathExists=</varname>) or a
-                                directory already is not empty (in
+                                <varname>PathExists=</varname> and
+                                <varname>PathExistsGlob=</varname>) or
+                                a directory already is not empty (in
                                 case of
                                 <varname>DirectoryNotEmpty=</varname>)
                                 case of
                                 <varname>DirectoryNotEmpty=</varname>)
-                                at the time the path unit is activated,
-                                then the configured unit is
+                                at the time the path unit is
+                                activated, then the configured unit is
                                 immediately activated as
                                 well. Something similar does not apply
                                 immediately activated as
                                 well. Something similar does not apply
-                                to <varname>PathChanged=</varname>.
+                                to <varname>PathChanged=</varname> and
+                                <varname>PathModified=</varname>.</para>
+
+                                <para>If the path itself or any of the
+                                containing directories are not
+                                accessible, <command>systemd</command>
+                                will watch for permission changes and
+                                notice that conditions are satisfied
+                                when permissions allow that.
                                 </para></listitem>
                         </varlistentry>
                         <varlistentry>
                                 </para></listitem>
                         </varlistentry>
                         <varlistentry>
                                 when any of the configured paths
                                 changes. The argument is a unit name,
                                 whose suffix is not
                                 when any of the configured paths
                                 changes. The argument is a unit name,
                                 whose suffix is not
-                                <filename>.path</filename>. If not
+                                <literal>.path</literal>. If not
                                 specified, this value defaults to a
                                 service that has the same name as the
                                 path unit, except for the suffix. (See
                                 specified, this value defaults to a
                                 service that has the same name as the
                                 path unit, except for the suffix. (See
                                 identical, except for the
                                 suffix.</para></listitem>
                         </varlistentry>
                                 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>
                 </variablelist>
         </refsect1>
 
         <refsect1>
                   <title>See Also</title>
                   <para>
-                          <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+                          <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>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>
+                          <citerefentry><refentrytitle>inotify</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+                          <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
                   </para>
         </refsect1>
 
                   </para>
         </refsect1>