mirror of
https://git.proxmox.com/git/systemd
synced 2025-06-11 09:06:23 +00:00
142 lines
11 KiB
HTML
142 lines
11 KiB
HTML
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>systemd.path</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><style>
|
|
a.headerlink {
|
|
color: #c60f0f;
|
|
font-size: 0.8em;
|
|
padding: 0 4px 0 4px;
|
|
text-decoration: none;
|
|
visibility: hidden;
|
|
}
|
|
|
|
a.headerlink:hover {
|
|
background-color: #c60f0f;
|
|
color: white;
|
|
}
|
|
|
|
h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
|
|
visibility: visible;
|
|
}
|
|
</style><a href="index.html">Index </a>·
|
|
<a href="systemd.directives.html">Directives </a>·
|
|
<a href="../python-systemd/index.html">Python </a>·
|
|
<a href="../libudev/index.html">libudev </a>·
|
|
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 218</span><hr><div class="refentry"><a name="systemd.path"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>systemd.path — Path unit configuration</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p><code class="filename"><em class="replaceable"><code>path</code></em>.path</code></p></div><div class="refsect1"><a name="idm140390669445136"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description">¶</a></h2><p>A unit configuration file whose name ends in
|
|
"<code class="literal">.path</code>" encodes information about
|
|
a path monitored by systemd, for
|
|
path-based activation.</p><p>This man page lists the configuration options
|
|
specific to this unit type. See
|
|
<a href="systemd.unit.html"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>
|
|
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.</p><p>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 <code class="filename">foo.path</code> activates a
|
|
matching service <code class="filename">foo.service</code>. The
|
|
unit to activate may be controlled by
|
|
<code class="varname">Unit=</code> (see below).</p><p>Internally, path units use the
|
|
<a href="inotify.html"><span class="citerefentry"><span class="refentrytitle">inotify</span>(7)</span></a>
|
|
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.</p><p>If a path unit is beneath another mount
|
|
point in the file system hierarchy, a dependency
|
|
between both units is created automatically.</p><p>Unless <code class="varname">DefaultDependencies=false</code>
|
|
is used, path units will implicitly have dependencies of
|
|
type <code class="varname">Conflicts=</code> and
|
|
<code class="varname">Before=</code> on
|
|
<code class="filename">shutdown.target</code>. 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.
|
|
</p></div><div class="refsect1"><a name="idm140390669434336"></a><h2 id="Options">Options<a class="headerlink" title="Permalink to this headline" href="#Options">¶</a></h2><p>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:</p><div class="variablelist"><dl class="variablelist"><dt id="PathExists="><span class="term"><code class="varname">PathExists=</code>, </span><span class="term"><code class="varname">PathExistsGlob=</code>, </span><span class="term"><code class="varname">PathChanged=</code>, </span><span class="term"><code class="varname">PathModified=</code>, </span><span class="term"><code class="varname">DirectoryNotEmpty=</code></span><a class="headerlink" title="Permalink to this term" href="#PathExists=">¶</a></dt><dd><p>Defines paths to
|
|
monitor for certain changes:
|
|
<code class="varname">PathExists=</code> may be
|
|
used to watch the mere existence of a
|
|
file or directory. If the file
|
|
specified exists, the configured unit
|
|
is
|
|
activated. <code class="varname">PathExistsGlob=</code>
|
|
works similar, but checks for the
|
|
existence of at least one file
|
|
matching the globbing pattern
|
|
specified. <code class="varname">PathChanged=</code>
|
|
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. <code class="varname">PathModified=</code>
|
|
is similar, but additionally it is
|
|
activated also on simple writes to the
|
|
watched file.
|
|
<code class="varname">DirectoryNotEmpty=</code>
|
|
may be used to watch a directory and
|
|
activate the configured unit whenever
|
|
it contains at least one file.</p><p>The arguments of these
|
|
directives must be absolute file
|
|
system paths.</p><p>Multiple directives may be
|
|
combined, of the same and of different
|
|
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.</p><p>If a path already exists
|
|
(in case of
|
|
<code class="varname">PathExists=</code> and
|
|
<code class="varname">PathExistsGlob=</code>) or
|
|
a directory already is not empty (in
|
|
case of
|
|
<code class="varname">DirectoryNotEmpty=</code>)
|
|
at the time the path unit is
|
|
activated, then the configured unit is
|
|
immediately activated as
|
|
well. Something similar does not apply
|
|
to <code class="varname">PathChanged=</code> and
|
|
<code class="varname">PathModified=</code>.</p><p>If the path itself or any of the
|
|
containing directories are not
|
|
accessible, <span class="command"><strong>systemd</strong></span>
|
|
will watch for permission changes and
|
|
notice that conditions are satisfied
|
|
when permissions allow that.
|
|
</p></dd><dt id="Unit="><span class="term"><code class="varname">Unit=</code></span><a class="headerlink" title="Permalink to this term" href="#Unit=">¶</a></dt><dd><p>The unit to activate
|
|
when any of the configured paths
|
|
changes. The argument is a unit name,
|
|
whose suffix is not
|
|
"<code class="literal">.path</code>". 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.</p></dd><dt id="MakeDirectory="><span class="term"><code class="varname">MakeDirectory=</code></span><a class="headerlink" title="Permalink to this term" href="#MakeDirectory=">¶</a></dt><dd><p>Takes a boolean
|
|
argument. If true, the directories to
|
|
watch are created before
|
|
watching. This option is ignored for
|
|
<code class="varname">PathExists=</code>
|
|
settings. Defaults to
|
|
<code class="option">false</code>.</p></dd><dt id="DirectoryMode="><span class="term"><code class="varname">DirectoryMode=</code></span><a class="headerlink" title="Permalink to this term" href="#DirectoryMode=">¶</a></dt><dd><p>If
|
|
<code class="varname">MakeDirectory=</code> is
|
|
enabled, use the mode specified here to
|
|
create the directories in
|
|
question. Takes an access mode in
|
|
octal notation. Defaults to
|
|
<code class="option">0755</code>.</p></dd></dl></div></div><div class="refsect1"><a name="idm140390673388432"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also">¶</a></h2><p>
|
|
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
|
|
<a href="systemctl.html"><span class="citerefentry"><span class="refentrytitle">systemctl</span>(1)</span></a>,
|
|
<a href="systemd.unit.html"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>,
|
|
<a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>,
|
|
<a href="inotify.html"><span class="citerefentry"><span class="refentrytitle">inotify</span>(7)</span></a>,
|
|
<a href="systemd.directives.html"><span class="citerefentry"><span class="refentrytitle">systemd.directives</span>(7)</span></a>
|
|
</p></div></div></body></html>
|