Linux下使用timedatectl命令時間時區操作詳解

lhrbest發表於2018-11-28

本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

timedatectl命令對於RHEL / CentOS 7和基於Fedora 21+的分散式系統來說,是一個新工具,它作為systemd系統和服務管理器的一部分,代替舊的傳統的用在基於Linux分散式系統的sysvinit守護程式的date命令。

timedatectl命令可以查詢和更改系統時鐘和設定,你可以使用此命令來設定或更改當前的日期,時間和時區,或實現與遠端NTP伺服器的自動系統時鐘同步。

在本教程中,我要講的是,如何在你的Linux系統上,通過使用來自於終端使用timedatectl命令的NTP,設定date、time、timezone和synchronize time來管理時間。

讓你的Linux伺服器或系統保持正確的時間是一個很好的實踐,它有以下優點:

  • 維護及時操作的系統任務,因為在Linux中的大多數任務都是由時間來控制的。
  • 記錄事件和系統上其它資訊等的正確時間。

如何查詢和設定Linux本地時區

1.要顯示系統的當前時間和日期,使用命令列中的timedatectl命令,如下:

# timedatectl  status

在上面的示例中,RTC time就是硬體時鐘的時間。

2.Linux系統上的time總是通過系統上的timezone設定的,要檢視當前時區,按如下做:

# timedatectl 
OR
# timedatectl | grep Time

3.要檢視所有可用的時區,執行以下命令:

# timedatectl list-timezones

4.要根據地理位置找到本地的時區,執行以下命令:

# timedatectl list-timezones |  egrep  -o “Asia/B.*”
# timedatectl list-timezones |  egrep  -o “Europe/L.*”
# timedatectl list-timezones |  egrep  -o “America/N.*”

5.要在Linux中設定本地時區,使用set-timezone開關,如下所示。

# timedatectl set-timezone “Asia/Kolkata”

推薦使用和設定協調世界時,即UTC。

# timedatectl set-timezone UTC

你需要輸入正確命名的時區,否者在你改變時區的時候,可能會發生錯誤。在下面的例子中,由於 “Asia/Kalkata” 這個時區是不正確的,因此導致了錯誤。

如何在Linux中設定時間和日期

6.你可以使用timedatectl命令,設定系統上的日期和時間,如下所示:

設定Linux中的時間

只設定時間的話,我們可以使用set-time開關以及HH:MM:SS(小時,分,秒)的時間格式。

# timedatectl set-time 15:58:30

在Linux中設定日期

7.只設定日期的話,我們可以使用set-time開關以及YY:MM:DD(年,月,日)的日期格式。

# timedatectl set-time 20151120

8.設定日期和時間:

# timedatectl set-time '16:10:40 2015-11-20'

如何在Linux中查詢和設定硬體時鐘

9.要設定硬體時鐘以協調世界時,UTC,可以使用 set-local-rtc boolean-value選項,如下所示:

首先確定你的硬體時鐘是否設定為本地時區:

# timedatectl | grep local

將你的硬體時鐘設定為本地時區:

# timedatectl set-local-rtc 1

將你的硬體時鐘設定為協調世界時(UTC):

# timedatectl set-local-rtc 0

將Linux系統時鐘同步到遠端NTP伺服器

NTP即Network Time Protocol(網路時間協議),是一個網際網路協議,用於同步計算機之間的系統時鐘。timedatectl實用程式可以自動同步你的Linux系統時鐘到使用NTP的遠端伺服器。

注意,你必須在系統上安裝NTP以實現與NTP伺服器的自動時間同步。

要開始自動時間同步到遠端NTP伺服器,在終端鍵入以下命令。

# timedatectl set-ntp true

要禁用NTP時間同步,在終端鍵入以下命令。

# timedatectl set-ntp false

總結

本教程中描述的都是一些非常簡單的例子,希望它們能對你設定各種Linux系統時鐘和時區有幫助。有不同的看法,也請不吝指教。

譯文連結:http://www.codeceo.com/article/linux-timedatectl-set-time.html
英文原文:How to Set Time, Timezone and Synchronize System Clock Using timedatectl Command
翻譯作者:碼農網 – 小峰
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章