timedatectl命令對於RHEL / CentOS 7和基於Fedora 21+的分布式系統來說,是一個新工具,它作為systemd系統和服務管理器的一部分,代替舊的傳統的用在基於Linux分布式系統的sysvinit守護進程的date命令。
timedatectl命令可以查詢和更改系統時鍾和設置,你可以使用此命令來設置或更改當前的日期,時間和時區,或實現與遠程NTP服務器的自動系統時鍾同步。
在本教程中,我要講的是,如何在你的Linux系統上,通過使用來自於終端使用timedatectl命令的NTP,設置date、time、timezone和synchronize time來管理時間。讓你的Linux服務器或系統保持正確的時間是一個很好的實踐,它有以下優點:
1)維護及時操作的系統任務,因為在Linux中的大多數任務都是由時間來控制的。
2)記錄事件和系統上其它信息等的正確時間。
如何查找和設置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"
中國上海的時區:
# timedatectl set-timezone "Asia/Shanghai"
推薦使用和設置協調世界時,即UTC。
# timedatectl set-timezone UTC
你需要輸入正確命名的時區,否者在你改變時區的時候,可能會發生錯誤。在下面的例子中,由於 “Asia/Kalkata” 這個時區是不正確的,因此導致了錯誤。
如何在Linux中設置時間和日期
你可以使用timedatectl命令,設置系統上的日期和時間,如下所示:
6、設置Linux中的時間。只設置時間的話,我們可以使用set-time開關以及HH:MM:SS(小時,分,秒)的時間格式。
# timedatectl set-time 15:58:30
7、在Linux中設置日期。只設置日期的話,我們可以使用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
原文鏈接:http://www.codeceo.com/article/linux-timedatectl-set-time.html
英文原文:How to Set Time, Timezone and Synchronize System Clock Using timedatectl Command