chiark / gitweb /
doc: reword "shared per-thread" wording
[elogind.git] / man / systemd.timer.xml
index 7a4cd348877cf7e00bb778bf551a58ca7c459b80..98d4f7b7b9cef66dd82060295fea66f214905f8a 100644 (file)
@@ -9,16 +9,16 @@
   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
-  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/>.
 -->
 
 
         <refnamediv>
                 <refname>systemd.timer</refname>
-                <refpurpose>systemd timer configuration files</refpurpose>
+                <refpurpose>Timer unit configuration</refpurpose>
         </refnamediv>
 
         <refsynopsisdiv>
-                <para><filename>systemd.timer</filename></para>
+                <para><filename><replaceable>timer</replaceable>.timer</filename></para>
         </refsynopsisdiv>
 
         <refsect1>
                 <title>Description</title>
 
                 <para>A unit configuration file whose name ends in
-                <filename>.timer</filename> encodes information about
+                <literal>.timer</literal> encodes information about
                 a timer controlled and supervised by systemd, for
                 timer-based activation.</para>
 
                 matching service <filename>foo.service</filename>. The
                 unit to activate may be controlled by
                 <varname>Unit=</varname> (see below).</para>
+
+                <para>Unless <varname>DefaultDependencies=</varname>
+                is set to <option>false</option>, timer units will
+                implicitly have dependencies of type
+                <varname>Conflicts=</varname> and
+                <varname>Before=</varname> on
+                <filename>shutdown.target</filename>. These ensure
+                that timer units are stopped cleanly prior to system
+                shutdown. Only timer units involved with early boot or
+                late system shutdown should disable this
+                option.</para>
         </refsect1>
 
         <refsect1>
                 defines. The options specific to the [Timer] section
                 of timer units are the following:</para>
 
-                <variablelist>
+                <variablelist class='unit-directives'>
                         <varlistentry>
-                                <term><varname>OnActive=</varname></term>
-                                <term><varname>OnBootup=</varname></term>
-                                <term><varname>OnStartup=</varname></term>
-                                <term><varname>OnUnitActive=</varname></term>
-                                <term><varname>OnUnitInactive=</varname></term>
+                                <term><varname>OnActiveSec=</varname></term>
+                                <term><varname>OnBootSec=</varname></term>
+                                <term><varname>OnStartupSec=</varname></term>
+                                <term><varname>OnUnitActiveSec=</varname></term>
+                                <term><varname>OnUnitInactiveSec=</varname></term>
 
-                                <listitem><para>Defines timers
+                                <listitem><para>Defines monotonic timers
                                 relative to different starting points:
-                                <varname>OnActive=</varname> defines a
+                                <varname>OnActiveSec=</varname> defines a
                                 timer relative to the moment the timer
                                 itself is
-                                activated. <varname>OnBootup=</varname>
+                                activated. <varname>OnBootSec=</varname>
                                 defines a timer relative to when the
                                 machine was booted
-                                up. <varname>OnStartup=</varname>
+                                up. <varname>OnStartupSec=</varname>
                                 defines a timer relative to when
-                                systemd was
-                                started. <varname>OnUnitActive=</varname>
+                                systemd was first
+                                started. <varname>OnUnitActiveSec=</varname>
                                 defines a timer relative to when the
                                 unit the timer is activating was last
-                                activated. <varname>OnUnitInactive=</varname>
+                                activated. <varname>OnUnitInactiveSec=</varname>
                                 defines a timer relative to when the
                                 unit the timer is activating was last
                                 deactivated.</para>
                                 <para>Multiple directives may be
                                 combined of the same and of different
                                 types. For example, by combining
-                                <varname>OnBoot=</varname> and
-                                <varname>OnUnitActive=</varname> it is
+                                <varname>OnBootSec=</varname> and
+                                <varname>OnUnitActiveSec=</varname>, it is
                                 possible to define a timer that
                                 elapses in regular intervals and
                                 activates a specific service each
 
                                 <para>The arguments to the directives
                                 are time spans configured in
-                                seconds. Example: "OnBoot=50" means
+                                seconds. Example: "OnBootSec=50" means
                                 50s after boot-up. The argument may
                                 also include time units. Example:
-                                "OnBoot=5h 30min" means 5 hours and 30
-                                minutes after boot-up. For details
-                                about the syntax of time spans see
+                                "OnBootSec=5h 30min" means 5 hours and
+                                30 minutes after boot-up. For details
+                                about the syntax of time spans, see
                                 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
 
                                 <para>If a timer configured with
-                                <varname>OnBootup=</varname> or
-                                <varname>OnStartup=</varname> is
+                                <varname>OnBootSec=</varname> or
+                                <varname>OnStartupSec=</varname> is
                                 already in the past when the timer
                                 unit is activated, it will immediately
                                 elapse and the configured unit is
                                 started. This is not the case for
                                 timers defined in the other
-                                directives.</para></listitem>
+                                directives.</para>
 
                                 <para>These are monotonic timers,
                                 independent of wall-clock time and timezones. If the
                                 computer is temporarily suspended, the
                                 monotonic clock stops too.</para>
 
+                                <para>If the empty string is assigned
+                                to any of these options, the list of
+                                timers is reset, and all prior
+                                assignments will have no
+                                effect.</para>
+
+                                <para>Note that timers do not
+                                necessarily expire at the precise
+                                time configured with these settings,
+                                as they are subject to the
+                                <varname>AccuracySec=</varname>
+                                setting below.</para></listitem>
+
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>OnCalendar=</varname></term>
+
+                                <listitem><para>Defines realtime
+                                (i.e. wallclock) timers with calendar
+                                event expressions. See
+                                <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+                                for more information on the syntax of
+                                calendar event expressions. Otherwise,
+                                the semantics are similar to
+                                <varname>OnActiveSec=</varname> and
+                                related settings.</para>
+
+                                <para>Note that timers do not
+                                necessarily expire at the precise
+                                time configured with this setting,
+                                as it is subject to the
+                                <varname>AccuracySec=</varname>
+                                setting below.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>AccuracySec=</varname></term>
+
+                                <listitem><para>Specify the accuracy
+                                the timer shall elapse with. Defaults
+                                to 1min. The timer is scheduled to
+                                elapse within a time window starting
+                                with the time specified in
+                                <varname>OnCalendar=</varname>,
+                                <varname>OnActiveSec=</varname>,
+                                <varname>OnBootSec=</varname>,
+                                <varname>OnStartupSec=</varname>,
+                                <varname>OnUnitActiveSec=</varname> or
+                                <varname>OnUnitInactiveSec=</varname>
+                                and ending the time configured with
+                                <varname>AccuracySec=</varname>
+                                later. Within this time window, the
+                                expiry time will be placed at a
+                                host-specific, randomized but stable
+                                position that is synchronized between
+                                all local timer units. This is done in
+                                order to distribute the wake-up time
+                                in networked installations, as well as
+                                optimizing power consumption to
+                                suppress unnecessary CPU wake-ups. To
+                                get best accuracy, set this option to
+                                1us. Note that the timer is still
+                                subject to the timer slack configured
+                                via
+                                <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>'s
+                                <varname>TimerSlackNSec=</varname>
+                                setting. See
+                                <citerefentry><refentrytitle>prctl</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+                                for details. To optimize power
+                                consumption, make sure to set this
+                                value as high as possible and as low
+                                as necessary.</para></listitem>
                         </varlistentry>
                         <varlistentry>
                                 <term><varname>Unit=</varname></term>
                                 <listitem><para>The unit to activate
                                 when this timer elapses. The argument is a
                                 unit name, whose suffix is not
-                                <filename>.timer</filename>. If not
+                                <literal>.timer</literal>. If not
                                 specified, this value defaults to a
                                 service that has the same name as the
                                 timer unit, except for the
-                                suffix. (See above.) It is recommended,
+                                suffix. (See above.) It is recommended
                                 that the unit name that is activated
                                 and the unit name of the timer unit
-                                are named identical, except for the
+                                are named identically, except for the
                                 suffix.</para></listitem>
                         </varlistentry>
                 </variablelist>
         <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>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+                          <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+                          <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+                          <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+                          <citerefentry><refentrytitle>prctl</refentrytitle><manvolnum>2</manvolnum></citerefentry>
                   </para>
         </refsect1>