3 <!DOCTYPE refentry PUBLIC
"-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
5 This file is part of systemd.
7 Copyright 2010 Brandon Philips
9 systemd is free software; you can redistribute it and/or modify it
10 under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2 of the License, or
12 (at your option) any later version.
14 systemd is distributed in the hope that it will be useful, but
15 WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with systemd; If not, see <http://www.gnu.org/licenses/>.
22 <refentry id=
"tmpfiles.d">
25 <title>tmpfiles.d
</title>
26 <productname>systemd
</productname>
30 <contrib>Documentation
</contrib>
31 <firstname>Brandon
</firstname>
32 <surname>Philips
</surname>
33 <email>brandon@ifup.org
</email>
39 <refentrytitle>tmpfiles.d
</refentrytitle>
40 <manvolnum>5</manvolnum>
44 <refname>tmpfiles.d
</refname>
45 <refpurpose>Configuration for creation, deletion and
46 cleaning of volatile and temporary files
</refpurpose>
50 <para><filename>/etc/tmpfiles.d/*.conf
</filename></para>
54 <title>Description
</title>
56 <para><command>systemd-tmpfiles
</command> uses the
57 configuration files in
58 <filename>/etc/tmpfiles.d/
</filename> to describe the
59 creation, cleaning and removal of volatile and
60 temporary files and directories which usually reside
61 in directories such as
<filename>/var/run
</filename>
62 or
<filename>/tmp
</filename>. Each configuration file
63 is named in the style of
64 <filename>/etc/tmpfiles.d/
<program
>.conf
</filename>.
</para>
68 <title>Configuration Format
</title>
70 <para>The configuration format is one line per path
71 containing action, mode, ownership and age
74 <programlisting>Type Path Mode UID GID Age
75 d /var/run/user
0755 root root
10d
</programlisting>
81 <term><varname>f
</varname></term>
82 <listitem><para>Create a file if it doesn't exist yet
</para></listitem>
86 <term><varname>F
</varname></term>
87 <listitem><para>Create or truncate a file
</para></listitem>
91 <term><varname>d
</varname></term>
92 <listitem><para>Create a directory if it doesn't exist yet
</para></listitem>
96 <term><varname>D
</varname></term>
97 <listitem><para>Create or empty a directory
</para></listitem>
101 <term><varname>x
</varname></term>
102 <listitem><para>Ignore a path
103 during cleaning. Use this type
104 to exclude paths from clean-up
105 as controlled with the Age
106 parameter. Note that lines of
107 this type do not influence the
108 effect of r or R lines. Lines
110 shell-style globs in place of
112 names.
</para></listitem>
116 <term><varname>r
</varname></term>
117 <listitem><para>Remove a file
119 exists. This may not be used
121 directories, use R for
122 that. Lines of this type
123 accept shell-style globs in
125 names.
</para></listitem>
129 <term><varname>R
</varname></term>
130 <listitem><para>Recursively
131 remove a path and all its
132 subdirectories (if it is a
133 directory). Lines of this type
134 accept shell-style globs in
136 names.
</para></listitem>
144 <para>The file access mode to use when
145 creating this file or directory. If omitted or
146 when set to - the default is used:
0755 for
147 directories,
0644 for files. This parameter is
148 ignored for x, r, R lines.
</para>
152 <title>UID, GID
</title>
154 <para>The user and group to use for this file
155 or directory. This may either be a numeric
156 user/group ID or a user or group name. If
157 omitted or when set to - the default
0 (root)
158 is used. . These parameters are ignored for x,
164 <para>The date field, when set, is used to
165 decide what files to delete when cleaning. If
166 a file or directory is older than the current
167 time minus the age field it is deleted. The
168 field format is a series of integers each
169 followed by one of the following
170 postfixes for the respective time units:
</para>
174 <term><varname>s
</varname></term>
175 <term><varname>min
</varname></term>
176 <term><varname>h
</varname></term>
177 <term><varname>d
</varname></term>
178 <term><varname>w
</varname></term>
179 <term><varname>ms
</varname></term>
180 <term><varname>m
</varname></term>
181 <term><varname>us
</varname></term></varlistentry>
184 <para>If multiple integers and units are specified the time values are summed up.
</para>
186 <para>The age field only applies to lines starting with d, D and x. If omitted or set to - no automatic clean-up is done.
</para>
193 <title>Example
</title>
195 <title>/etc/tmpfiles.d/screen.conf example
</title>
196 <para><command>screen
</command> needs two directories created at boot with specific modes and ownership.
</para>
198 <programlisting>d /var/run/screens
1777 root root
10d
199 d /var/run/uscreens
0755 root root
10d12h
</programlisting>
204 <title>See Also
</title>
206 <citerefentry><refentrytitle>systemd
</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
207 <citerefentry><refentrytitle>systemd-tmpfiles
</refentrytitle><manvolnum>8</manvolnum></citerefentry>