<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->

<refentry id="timedatectl" conditional='ENABLE_TIMEDATECTL'
  xmlns:xi="http://www.w3.org/2001/XInclude">

  <refentryinfo>
    <title>timedatectl</title>
    <productname>systemd</productname>
  </refentryinfo>

  <refmeta>
    <refentrytitle>timedatectl</refentrytitle>
    <manvolnum>1</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>timedatectl</refname>
    <refpurpose>Control the system time and date</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <cmdsynopsis>
      <command>timedatectl</command>
      <arg choice="opt" rep="repeat">OPTIONS</arg>
      <arg choice="req">COMMAND</arg>
    </cmdsynopsis>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

    <para><command>timedatectl</command> may be used to query and change the system clock and its settings,
    and enable or disable time synchronization services.</para>

    <para>Use
    <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
    to initialize the system time zone for mounted (but not booted)
    system images.</para>

    <para><command>timedatectl</command> may be used to show the current status of time synchronization
    services, for example
    <citerefentry><refentrytitle>systemd-timesyncd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
    </para>

  </refsect1>

  <refsect1>
    <title>Commands</title>

    <para>The following commands are understood:</para>

    <variablelist>
      <varlistentry>
        <term><command>status</command></term>

        <listitem><para>Show current settings of the system clock and RTC, including whether network time
        synchronization is active. If no command is specified, this is the implied default.
        </para></listitem>
      </varlistentry>

      <varlistentry>
        <term><command>show</command></term>

        <listitem><para>Show the same information as <option>status</option>, but in machine readable form.
        This command is intended to be used whenever computer-parsable output is required.
        Use <option>status</option> if you are looking for formatted human-readable output.</para>
        <para>By default, empty properties are suppressed. Use <option>--all</option> to show those too.
        To select specific properties to show, use <option>--property=</option>.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><command>set-time [TIME]</command></term>

        <listitem><para>Set the system clock to the specified time.
        This will also update the RTC time accordingly. The time may
        be specified in the format "2012-10-30
        18:17:16".</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><command>set-timezone [TIMEZONE]</command></term>

        <listitem><para>Set the system time zone to the specified
        value. Available timezones can be listed with
        <command>list-timezones</command>. If the RTC is configured to
        be in the local time, this will also update the RTC time. This
        call will alter the <filename>/etc/localtime</filename>
        symlink. See
        <citerefentry><refentrytitle>localtime</refentrytitle><manvolnum>5</manvolnum></citerefentry>
        for more information.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><command>list-timezones</command></term>

        <listitem><para>List available time zones, one per line.
        Entries from the list can be set as the system timezone with
        <command>set-timezone</command>.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><command>set-local-rtc [BOOL]</command></term>

        <listitem><para>Takes a boolean argument. If
        <literal>0</literal>, the system is configured to maintain the
        RTC in universal time. If <literal>1</literal>, it will
        maintain the RTC in local time instead. Note that maintaining
        the RTC in the local timezone is not fully supported and will
        create various problems with time zone changes and daylight
        saving adjustments. If at all possible, keep the RTC in UTC
        mode. Note that invoking this will also synchronize the RTC
        from the system clock, unless
        <option>--adjust-system-clock</option> is passed (see above).
        This command will change the 3rd line of
        <filename>/etc/adjtime</filename>, as documented in
        <citerefentry project='man-pages'><refentrytitle>hwclock</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
        </para></listitem>
      </varlistentry>

      <varlistentry>
        <term><command>set-ntp [BOOL]</command></term>

        <listitem><para>Takes a boolean argument. Controls whether network time synchronization is active and
        enabled (if available). If the argument is true, this enables and starts the first existing network
        synchronization service. If the argument is false, then this disables and stops the known network
        synchronization services. The way that the list of services is built is described in
        <citerefentry><refentrytitle>systemd-timedated.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
        </para></listitem>
      </varlistentry>

    </variablelist>

    <refsect2>
      <title>systemd-timesyncd Commands</title>

      <para>The following commands are specific to
      <citerefentry><refentrytitle>systemd-timesyncd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
      </para>

      <variablelist>
        <varlistentry>
          <term><command>timesync-status</command></term>

          <listitem><para>Show current status of
          <citerefentry><refentrytitle>systemd-timesyncd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
          If <option>--monitor</option> is specified, then this will monitor the status updates.</para></listitem>
        </varlistentry>

        <varlistentry>
          <term><command>show-timesync</command></term>

          <listitem><para>Show the same information as <option>timesync-status</option>, but in machine readable form.
          This command is intended to be used whenever computer-parsable output is required.
          Use <option>timesync-status</option> if you are looking for formatted human-readable output.</para>
          <para>By default, empty properties are suppressed. Use <option>--all</option> to show those too.
          To select specific properties to show, use <option>--property=</option>.</para></listitem>
        </varlistentry>

        <varlistentry>
          <term><command>ntp-servers <replaceable>INTERFACE</replaceable> <replaceable>SERVER</replaceable>…</command></term>

          <listitem><para>Set the interface specific NTP servers. This command can be used only when the
          interface is managed by <command>systemd-networkd</command>.</para></listitem>
        </varlistentry>

        <varlistentry>
          <term><command>revert <replaceable>INTERFACE</replaceable></command></term>

          <listitem><para>Revert the interface specific NTP servers. This command can be used only when
          the interface is managed by <command>systemd-networkd</command>.</para></listitem>
        </varlistentry>
      </variablelist>

    </refsect2>

  </refsect1>

  <refsect1>
    <title>Options</title>

    <para>The following options are understood:</para>

    <variablelist>
      <varlistentry>
        <term><option>--no-ask-password</option></term>

        <listitem><para>Do not query the user for authentication for
        privileged operations.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>--adjust-system-clock</option></term>

        <listitem><para>If <command>set-local-rtc</command> is invoked
        and this option is passed, the system clock is synchronized
        from the RTC again, taking the new setting into account.
        Otherwise, the RTC is synchronized from the system
        clock.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>--monitor</option></term>

        <listitem><para>If <command>timesync-status</command> is invoked and this option is passed, then
        <command>timedatectl</command> monitors the status of
        <citerefentry><refentrytitle>systemd-timesyncd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
        and updates the outputs. Use <keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo> to terminate the
        monitoring.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-a</option></term>
        <term><option>--all</option></term>

        <listitem><para>When showing properties of
        <citerefentry><refentrytitle>systemd-timesyncd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
        show all properties regardless of whether they are set or not.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-p</option></term>
        <term><option>--property=</option></term>

        <listitem><para>When showing properties of
        <citerefentry><refentrytitle>systemd-timesyncd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
        limit display to certain properties as specified as argument. If not specified, all set properties are shown.
        The argument should be a property name, such as <literal>ServerName</literal>. If specified more than once,
        all properties with the specified names are shown.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><option>--value</option></term>

        <listitem>
          <para>When printing properties with <command>show-timesync</command>, only print the value, and skip the
          property name and <literal>=</literal>.</para></listitem>
      </varlistentry>

      <xi:include href="user-system-options.xml" xpointer="host" />
      <xi:include href="user-system-options.xml" xpointer="machine" />

      <xi:include href="standard-options.xml" xpointer="help" />
      <xi:include href="standard-options.xml" xpointer="version" />
      <xi:include href="standard-options.xml" xpointer="no-pager" />
    </variablelist>
  </refsect1>

  <refsect1>
    <title>Exit status</title>

    <para>On success, 0 is returned, a non-zero failure code otherwise.</para>
  </refsect1>

  <xi:include href="common-variables.xml" />

  <refsect1>
    <title>Examples</title>
    <para>Show current settings:
    <programlisting>$ timedatectl
               Local time: Thu 2017-09-21 16:08:56 CEST
           Universal time: Thu 2017-09-21 14:08:56 UTC
                 RTC time: Thu 2017-09-21 14:08:56
                Time zone: Europe/Warsaw (CEST, +0200)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no</programlisting>
    </para>

    <para>Enable network time synchronization:
    <programlisting>$ timedatectl set-ntp true
==== AUTHENTICATING FOR org.freedesktop.timedate1.set-ntp ===
Authentication is required to control whether network time synchronization shall be enabled.
Authenticating as: user
Password: ********
==== AUTHENTICATION COMPLETE ===</programlisting>

    <programlisting>$ systemctl status systemd-timesyncd.service
● systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled)
   Active: active (running) since Mo 2015-03-30 14:20:38 CEST; 5s ago
     Docs: man:systemd-timesyncd.service(8)
 Main PID: 595 (systemd-timesyn)
   Status: "Using Time Server 216.239.38.15:123 (time4.google.com)."
   CGroup: /system.slice/systemd-timesyncd.service
           └─595 /usr/lib/systemd/systemd-timesyncd
…</programlisting>
    </para>

    <para>Show current status of
    <citerefentry><refentrytitle>systemd-timesyncd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>:
    <programlisting>$ timedatectl timesync-status
       Server: 216.239.38.15 (time4.google.com)
Poll interval: 1min 4s (min: 32s; max 34min 8s)
         Leap: normal
      Version: 4
      Stratum: 1
    Reference: GPS
    Precision: 1us (-20)
Root distance: 335us (max: 5s)
       Offset: +316us
        Delay: 349us
       Jitter: 0
 Packet count: 1
    Frequency: -8.802ppm</programlisting>
    </para>

  </refsect1>

  <refsect1>
    <title>See Also</title>
    <para>
      <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
      <citerefentry project='man-pages'><refentrytitle>hwclock</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
      <citerefentry project='man-pages'><refentrytitle>date</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>localtime</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd-timedated.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd-timesyncd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
    </para>
  </refsect1>

</refentry>
