NAME

timedatectl - 控制系統的時間與日期

SYNOPSIS

timedatectl [OPTIONS...] {COMMAND}

描述

timedatectl 可用於查詢與修改 系統時鐘的各項設定。
可以使用 systemd-firstboot(1) 初始化已掛載(但未啟動)的系統映象的時區設定。

選項

能夠識別的命令列選項如下:
--no-ask-password
在執行特權操作時不向使用者索要密碼。
--adjust-system-clock
當使用 set-local-rtc 命令時, 若使用了此選項, 則表示根據RTC時間來更新系統時鐘。 若未使用此選項,則表示根據系統時鐘來更新RTC時間。
-H, --host=
操作指定的遠端主機。可以僅指定一個主機名(hostname), 也可以使用 "username@hostname" 格式。 hostname 後面還可以加上容器名(以冒號分隔), 也就是形如 "hostname:container" 的格式, 以表示直接連線到指定主機的指定容器內。 操作將透過SSH協議進行,以確保安全。 可以透過 machinectl -H HOST 命令列出遠端主機上的所有容器名稱。
-M, --machine=
在本地容器內執行操作。 必須明確指定容器的名稱。
-h, --help
顯示簡短的幫助資訊並退出。
--version
顯示簡短的版本資訊並退出。
--no-pager
不將程式的輸出內容管道(pipe)給分頁程式。
能夠識別的命令如下:
status
顯示系統時鐘與RTC的當前狀態, 包括時區設定與網路時間同步服務的狀態。 注意,所謂"網路時間同步服務的狀態"實際上只是 systemd-timesyncd.service 服務的狀態, 並不檢查是否存在其他時間同步服務。 這是預設命令。
set-time [TIME]
將系統時鐘設為指定的時間, 並同時更新RTC時間。 [TIME] 是一個形如 "2012-10-30 18:17:16"的時間字串。
set-timezone [TIMEZONE]
設定系統時區,也就是更新 /etc/localtime 軟連線的指向。 可以用下面的 list-timezones 命令列出所有可用時區。 如果RTC被設為本地時間, 此命令還會同時更新RTC時間。 詳見 localtime(5) 手冊。
list-timezones
列出所有可用時區,每行一個。 列出的值可以用作前述 set-timezone 命令的引數。
set-local-rtc [BOOL]
設為 "no" 表示在RTC中儲存UTC時間; 設為 "yes" 表示在RTC中儲存本地時間。 應該盡一切可能在RTC中儲存UTC時間。 儘量不要在RTC中儲存本地時間, 因為這會造成一系列麻煩, 尤其是在切換時區以及調整夏令時或冬令時的時候。 注意,除非明確使用了 --adjust-system-clock 選項, 否則此命令還會同時用系統時鐘更新RTC時間。 此命令還會改變 /etc/adjtime 檔案第三行的內容,詳見 hwclock(8) 手冊。
set-ntp [BOOL]
是否開啟網路時間同步。 設為 "yes" 則啟用並啟動 systemd-timesyncd.service 服務, 設為 "no" 則停止並停用它。 該命令除了控制 systemd-timesyncd.service 服務的狀態,不做任何其他操作。 也就是說,設為 "yes" 相當於執行 systemctl enable --now systemd-timesyncd.service 命令; 而設為 "no" 則相當於執行 systemctl disable --now systemd-timesyncd.service 命令;
 
注意,即使使用此命令關閉了 systemd-timesyncd.service 服務, 仍然有可能存在其他時間同步服務。 另外,嚴格來說, systemd-timesyncd.service 除了同步時間之外,還同時兼有其他功能, 例如在無網路且無RTC的系統上維持系統的"單調時鐘"。 詳見 systemd-timesyncd.service(8) 手冊。

退出狀態

返回值為 0 表示成功, 非零返回值表示失敗程式碼。

環境變數

$SYSTEMD_PAGER
指定分頁程式。僅在未指定 --no-pager 選項時有意義。 此變數會覆蓋 $PAGER 的值。 將此變數設為空字串或 "cat" 等價於使用 --no-pager 選項。
$SYSTEMD_LESS
用於覆蓋 預設傳遞給 less 程式的命令列選項 ("FRSXMK")。

例子

顯示當前的時間設定
 
$ timedatectl
      Local time: Di 2015-04-07 16:26:56 CEST
  Universal time: Di 2015-04-07 14:26:56 UTC
        RTC time: Di 2015-04-07 14:26:56
       Time zone: Europe/Berlin (CEST, +0200)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no
開啟網路時間同步服務
 
$ 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 ===
 
 
 
$ 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
...
 

參見

systemd(1), hwclock(8), date(1), localtime(5), systemctl(1), systemd-timedated.service(8), systemd-timesyncd.service(8), systemd-firstboot(1)

本頁面中文版由中文 man 手冊頁計劃提供。
翻譯人員:金步國
 
金步國作品集:http://www.jinbuguo.com
 
 
中文 man 手冊頁計劃: https://github.com/man-pages-zh/manpages-zh