systemd.timer.xml revision 6f5d79986a9c98b9cacc83f865fed957e4e6e4e6
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering<!--
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering This file is part of systemd.
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering Copyright 2010 Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering systemd is free software; you can redistribute it and/or modify it
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering under the terms of the GNU Lesser General Public License as published by
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering the Free Software Foundation; either version 2.1 of the License, or
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering (at your option) any later version.
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering systemd is distributed in the hope that it will be useful, but
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering WITHOUT ANY WARRANTY; without even the implied warranty of
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering Lesser General Public License for more details.
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering You should have received a copy of the GNU Lesser General Public License
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering along with systemd; If not, see <http://www.gnu.org/licenses/>.
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering-->
4871690d9e32608bbd9b18505b5326c2079c9690Allin Cottrell
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering<refentry id="systemd.timer">
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <refentryinfo>
178cc7700c23ac088cd7190d7854282075028d91Lennart Poettering <title>systemd.timer</title>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <productname>systemd</productname>
d682b3a7e7c7c2941a4d3e193f1e330dbc9fae89Lennart Poettering
d025f1e4dca8fc1436aff76f9e6185fe3e728daaZbigniew Jędrzejewski-Szmek <authorgroup>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <author>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <contrib>Developer</contrib>
3b7124a8db56ed57525b9ecfd19cfdc8c9facba0Lennart Poettering <firstname>Lennart</firstname>
40b71e89bae4e51768db4dc50ec64c1e9c96eec4Sebastian Thorarensen <surname>Poettering</surname>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <email>lennart@poettering.net</email>
178cc7700c23ac088cd7190d7854282075028d91Lennart Poettering </author>
178cc7700c23ac088cd7190d7854282075028d91Lennart Poettering </authorgroup>
178cc7700c23ac088cd7190d7854282075028d91Lennart Poettering </refentryinfo>
3b3154df7e2773332bb814e167187367a0ccae4aLennart Poettering
b92bea5d2a9481de69bb627a7b442a9f58fca43dZbigniew Jędrzejewski-Szmek <refmeta>
46b131574fdd7d77c15a0919ca9010cad7aa6ac7Lennart Poettering <refentrytitle>systemd.timer</refentrytitle>
b92bea5d2a9481de69bb627a7b442a9f58fca43dZbigniew Jędrzejewski-Szmek <manvolnum>5</manvolnum>
b92bea5d2a9481de69bb627a7b442a9f58fca43dZbigniew Jędrzejewski-Szmek </refmeta>
b92bea5d2a9481de69bb627a7b442a9f58fca43dZbigniew Jędrzejewski-Szmek
b92bea5d2a9481de69bb627a7b442a9f58fca43dZbigniew Jędrzejewski-Szmek <refnamediv>
b92bea5d2a9481de69bb627a7b442a9f58fca43dZbigniew Jędrzejewski-Szmek <refname>systemd.timer</refname>
b92bea5d2a9481de69bb627a7b442a9f58fca43dZbigniew Jędrzejewski-Szmek <refpurpose>Timer unit configuration</refpurpose>
46b131574fdd7d77c15a0919ca9010cad7aa6ac7Lennart Poettering </refnamediv>
b92bea5d2a9481de69bb627a7b442a9f58fca43dZbigniew Jędrzejewski-Szmek
f8294e4175918117ca6c131720bcf287eadcd029Josh Triplett <refsynopsisdiv>
b92bea5d2a9481de69bb627a7b442a9f58fca43dZbigniew Jędrzejewski-Szmek <para><filename><replaceable>timer</replaceable>.timer</filename></para>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering </refsynopsisdiv>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <refsect1>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <title>Description</title>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <para>A unit configuration file whose name ends in
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <literal>.timer</literal> encodes information about a timer
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering controlled and supervised by systemd, for timer-based
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering activation.</para>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <para>This man page lists the configuration options specific to
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering this unit type. See
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering for the common options of all unit configuration files. The common
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering configuration items are configured in the generic [Unit] and
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering [Install] sections. The timer specific configuration options are
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering configured in the [Timer] section.</para>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <para>For each timer file, a matching unit file must exist,
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering describing the unit to activate when the timer elapses. By
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering default, a service by the same name as the timer (except for the
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering suffix) is activated. Example: a timer file
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <filename>foo.timer</filename> activates a matching service
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <filename>foo.service</filename>. The unit to activate may be
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering controlled by <varname>Unit=</varname> (see below).</para>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering </refsect1>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <refsect1>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <title>Automatic Dependencies</title>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <para>Timer units automatically gain a <varname>Before=</varname>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering dependency on the service they are supposed to activate.</para>
178cc7700c23ac088cd7190d7854282075028d91Lennart Poettering
178cc7700c23ac088cd7190d7854282075028d91Lennart Poettering <para>Unless <varname>DefaultDependencies=</varname> is set to
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <option>false</option>, all timer units will implicitly have
178cc7700c23ac088cd7190d7854282075028d91Lennart Poettering dependencies of type <varname>Requires=</varname> and
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>After=</varname> on <filename>sysinit.target</filename>,
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering a dependency of type <varname>Before=</varname> on
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <filename>timers.target</filename>, as well as
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>Conflicts=</varname> and <varname>Before=</varname> on
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <filename>shutdown.target</filename> to ensure that they are
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering stopped cleanly prior to system shutdown. Timer units with at
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering least one <varname>OnCalendar=</varname> directive will have an
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering additional <varname>After=</varname> dependency on
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <filename>timer-sync.target</filename> to avoid being started
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering before the system clock has been correctly set. Only timer units
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering involved with early boot or late system shutdown should disable
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering the <varname>DefaultDependencies=</varname> option.</para>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering </refsect1>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <refsect1>
178cc7700c23ac088cd7190d7854282075028d91Lennart Poettering <title>Options</title>
178cc7700c23ac088cd7190d7854282075028d91Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <para>Timer files must include a [Timer] section, which carries
178cc7700c23ac088cd7190d7854282075028d91Lennart Poettering information about the timer it defines. The options specific to
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering the [Timer] section of timer units are the following:</para>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <variablelist class='unit-directives'>
56f64d95763a799ba4475daf44d8e9f72a1bd474Michal Schmidt <varlistentry>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <term><varname>OnActiveSec=</varname></term>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <term><varname>OnBootSec=</varname></term>
3b3154df7e2773332bb814e167187367a0ccae4aLennart Poettering <term><varname>OnStartupSec=</varname></term>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <term><varname>OnUnitActiveSec=</varname></term>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <term><varname>OnUnitInactiveSec=</varname></term>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <listitem><para>Defines monotonic timers relative to different
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering starting points: <varname>OnActiveSec=</varname> defines a
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering timer relative to the moment the timer itself is activated.
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>OnBootSec=</varname> defines a timer relative to when
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering the machine was booted up. <varname>OnStartupSec=</varname>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering defines a timer relative to when systemd was first started.
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>OnUnitActiveSec=</varname> defines a timer relative
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering to when the unit the timer is activating was last activated.
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>OnUnitInactiveSec=</varname> defines a timer relative
3b3154df7e2773332bb814e167187367a0ccae4aLennart Poettering to when the unit the timer is activating was last
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering deactivated.</para>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <para>Multiple directives may be combined of the same and of
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering different types. For example, by combining
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>OnBootSec=</varname> and
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>OnUnitActiveSec=</varname>, it is possible to define
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering a timer that elapses in regular intervals and activates a
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering specific service each time.</para>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <para>The arguments to the directives are time spans
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering configured in seconds. Example: "OnBootSec=50" means 50s after
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering boot-up. The argument may also include time units. Example:
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering "OnBootSec=5h 30min" means 5 hours and 30 minutes after
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering boot-up. For details about the syntax of time spans, see
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <para>If a timer configured with <varname>OnBootSec=</varname>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering or <varname>OnStartupSec=</varname> is already in the past
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering when the timer unit is activated, it will immediately elapse
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering and the configured unit is started. This is not the case for
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering timers defined in the other directives.</para>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <para>These are monotonic timers, independent of wall-clock
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering time and timezones. If the computer is temporarily suspended,
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering the monotonic clock stops too.</para>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <para>If the empty string is assigned to any of these options,
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering the list of timers is reset, and all prior assignments will
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering have no effect.</para>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <para>Note that timers do not necessarily expire at the
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering precise time configured with these settings, as they are
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering subject to the <varname>AccuracySec=</varname> setting
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering below.</para></listitem>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering </varlistentry>
de0671ee7fe465e108f62dcbbbe9366f81dd9e9aZbigniew Jędrzejewski-Szmek
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varlistentry>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <term><varname>OnCalendar=</varname></term>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <listitem><para>Defines realtime (i.e. wallclock) timers with
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering calendar event expressions. See
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering for more information on the syntax of calendar event
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering expressions. Otherwise, the semantics are similar to
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>OnActiveSec=</varname> and related settings.</para>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <para>Note that timers do not necessarily expire at the
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering precise time configured with this setting, as it is subject to
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering the <varname>AccuracySec=</varname> setting
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering below.</para></listitem>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering </varlistentry>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varlistentry>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <term><varname>AccuracySec=</varname></term>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <listitem><para>Specify the accuracy the timer shall elapse
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering with. Defaults to 1min. The timer is scheduled to elapse
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering within a time window starting with the time specified in
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>OnCalendar=</varname>,
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>OnActiveSec=</varname>,
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>OnBootSec=</varname>,
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>OnStartupSec=</varname>,
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>OnUnitActiveSec=</varname> or
e88baee88fad8bc59d33b55a7a2d640ef9e16cd6Zbigniew Jędrzejewski-Szmek <varname>OnUnitInactiveSec=</varname> and ending the time
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering configured with <varname>AccuracySec=</varname> later. Within
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering this time window, the expiry time will be placed at a
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering host-specific, randomized, but stable position that is
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering synchronized between all local timer units. This is done in
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering order to optimize power consumption to suppress unnecessary
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering CPU wake-ups. To get best accuracy, set this option to
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering 1us. Note that the timer is still subject to the timer slack
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering configured via
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>'s
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>TimerSlackNSec=</varname> setting. See
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <citerefentry><refentrytitle>prctl</refentrytitle><manvolnum>2</manvolnum></citerefentry>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering for details. To optimize power consumption, make sure to set
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering this value as high as possible and as low as
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering necessary.</para></listitem>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering </varlistentry>
e88baee88fad8bc59d33b55a7a2d640ef9e16cd6Zbigniew Jędrzejewski-Szmek
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varlistentry>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <term><varname>RandomizedDelaySec=</varname></term>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <listitem><para>Delay the timer by a randomly selected, evenly
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering distributed amount of time between 0 and the specified time
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering value. Defaults to 0, indicating that no randomized delay
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering shall be applied. Each timer unit will determine this delay
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering randomly each time it is started, and the delay will simply be
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering added on top of the next determined elapsing time. This is
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering useful to stretch dispatching of similarly configured timer
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering events over a certain amount time, to avoid that they all fire
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering at the same time, possibly resulting in resource
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering congestion. Note the relation to
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>AccuracySec=</varname> above: the latter allows the
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering service manager to coalesce timer events within a specified
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering time range in order to minimize wakeups, the former does the
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering opposite: it stretches timer events over a time range, to make
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering it unlikely that they fire simultaneously. If
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>RandomizedDelaySec=</varname> and
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>AccuracySec=</varname> are used in conjunction, first
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering the a randomized time is added, and the result is then
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering possibly shifted further to coalesce it with other timer
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering events possibly happening on the system. As mentioned above
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>AccuracySec=</varname> defaults to 1min and
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>RandomizedDelaySec=</varname> to 0, thus encouraging
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering coalescing of timer events. In order to optimally stretch
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering timer events over a certain range of time, make sure to set
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>RandomizedDelaySec=</varname> to a higher value, and
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <varname>AccuracySec=1us</varname>.</para></listitem>
e88baee88fad8bc59d33b55a7a2d640ef9e16cd6Zbigniew Jędrzejewski-Szmek </varlistentry>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
e88baee88fad8bc59d33b55a7a2d640ef9e16cd6Zbigniew Jędrzejewski-Szmek <varlistentry>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering <term><varname>Unit=</varname></term>
35e2e347d38cc2f8bd7c38a0d8a5129f5fbb0ab9Lennart Poettering
e3bfb7be07d9b1f4ebb12eb22c4c8bcd2a988d51Zbigniew Jędrzejewski-Szmek <listitem><para>The unit to activate when this timer elapses.
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering The argument is a unit name, whose suffix is not
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <literal>.timer</literal>. If not specified, this value
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering defaults to a service that has the same name as the timer
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering unit, except for the suffix. (See above.) It is recommended
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering that the unit name that is activated and the unit name of the
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering timer unit are named identically, except for the
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering suffix.</para></listitem>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering </varlistentry>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <varlistentry>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <term><varname>Persistent=</varname></term>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <listitem><para>Takes a boolean argument. If true, the time
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering when the service unit was last triggered is stored on disk.
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering When the timer is activated, the service unit is triggered
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering immediately if it would have been triggered at least once
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering during the time when the timer was inactive. This is useful to
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering catch up on missed runs of the service when the machine was
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering off. Note that this setting only has an effect on timers
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering configured with <varname>OnCalendar=</varname>.
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering </para></listitem>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering </varlistentry>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <varlistentry>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <term><varname>WakeSystem=</varname></term>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <listitem><para>Takes a boolean argument. If true, an elapsing
ac50788b0f5aeee09e7d45db28ae8ab7f39cd52eZbigniew Jędrzejewski-Szmek timer will cause the system to resume from suspend, should it
ac50788b0f5aeee09e7d45db28ae8ab7f39cd52eZbigniew Jędrzejewski-Szmek be suspended and if the system supports this. Note that this
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering option will only make sure the system resumes on the
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering appropriate times, it will not take care of suspending it
ac50788b0f5aeee09e7d45db28ae8ab7f39cd52eZbigniew Jędrzejewski-Szmek again after any work that is to be done is finished. Defaults
ac50788b0f5aeee09e7d45db28ae8ab7f39cd52eZbigniew Jędrzejewski-Szmek to <varname>false</varname>.</para></listitem>
ac50788b0f5aeee09e7d45db28ae8ab7f39cd52eZbigniew Jędrzejewski-Szmek </varlistentry>
ac50788b0f5aeee09e7d45db28ae8ab7f39cd52eZbigniew Jędrzejewski-Szmek
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <varlistentry>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <term><varname>RemainAfterElapse=</varname></term>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <listitem><para>Takes a boolean argument. If true, an elapsed
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering timer will stay loaded, and its state remains queriable. If
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering false, an elapsed timer unit that cannot elapse anymore is
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering unloaded. Turning this off is particularly useful for
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering transient timer units that shall disappear after they first
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering elapse. Note that this setting has an effect on repeatedly
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering starting the a timer unit that only elapses once: if
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <varname>RemainAfterElapse=</varname> is on, it will not be
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering started again, and is guaranteed to elapse only once. However,
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering if <varname>RemainAfterLeapse=</varname> is off, it might be
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering started again if it is already elapsed, and thus be triggered
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering multiple times. Defaults to
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <varname>yes</varname>.</para></listitem>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering </varlistentry>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering </variablelist>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering </refsect1>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <refsect1>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <title>See Also</title>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <para>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering <citerefentry><refentrytitle>prctl</refentrytitle><manvolnum>2</manvolnum></citerefentry>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering </para>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering </refsect1>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering</refentry>
5809560d858f45351856d6fe786a8117306dd0f2Lennart Poettering