在CentOS 6中,系統時間管理的操作如下:
- 顯示和設置系統時間會用date命令
- 修改時區需要找到相應的時區文件 /usr/share/zoneinfo/Asia/Shanghai替換當前的/etc/localtime
- 時間同步需要安裝ntpdate
從CentOS 7開始,關於時間管理的指令除了保留了之前版本中常用到的date、hwclock等命令外,還增加了一個統一的新命令timedatactl,作為systemd系統和服務管理器的一部分(*ctl風格)
可以使用timedatectl命令來設置或更改當前的日期,時間和時區,或實現與遠程NTP服務器的自動系統時鍾同步。
讀取時間:timedatectl(等同於 timedatectl status)
timdatectl顯示出來的信息,比date要豐富很多。有本地時間,UTC時間,RTC時間(硬件時間),還有時區,NTP同步等信息。
[root@master ~]# timedatectl Local time: Sat 2021-05-08 16:13:13 CST //當地時間 Universal time: Sat 2021-05-08 08:13:13 UTC //倫敦時間 RTC time: Sat 2021-05-08 08:13:13 //硬件時間 Time zone: Asia/Shanghai (CST, +0800) //時區:亞洲上海(東8區)UTC時間加上8等於當前時間 NTP enabled: yes //表示開啟時間同步 NTP synchronized: yes //表示時間已同步,ntp服務正常運行 RTC in local TZ: no DST active: n/a
設置日期與時間:timedatectl set-time "YYYY-MM-DD HH:MM:SS"
日期: [root@master ~]# timedatectl set-time 2019-06-22 時間: [root@master ~]# timedatectl set-time "20:45:00" 日期時間: [root@master ~]# timedatectl set-time "2019-03-11 20:45:00"
列出所有時區:timedatectl list-timezones
這個命令的顯示很長,如果是尋找時區的名稱,可以通過管道給grep過濾:
[root@master ~]# timedatectl list-timezones | grep Shang Asia/Shanghai
或者這樣:
[root@master ~]# timedatectl list-timezones | grep -o "Asia/S.*" Asia/Sakhalin Asia/Samarkand Asia/Seoul Asia/Shanghai Asia/Singapore Asia/Srednekolymsk
設置時區:timedatectl set-timezone Asia/Shanghai
設置同步NTP時間:timedatectl set-ntp true
設置與NTP服務同步的前提是系統上安裝了NTP或者Chrony,否則會出現錯誤 Failed to set ntp: NTP not supported.
安裝NTP,可直接采用 yum installl ntp 即可
當設置timedatectl set-ntp true ,顯示 NTP enabled: yes
[root@master ~]# timedatectl set-ntp true [root@master ~]# timedatectl Local time: Sat 2021-05-08 17:18:36 CST Universal time: Sat 2021-05-08 09:18:36 UTC RTC time: Mon 2019-03-11 12:52:53 Time zone: Asia/Shanghai (CST, +0800) NTP enabled: yes NTP synchronized: no RTC in local TZ: no DST active: n/a
需要過一段時間,才會顯示 NTP synchronized: yes(不想等待的話,重啟ntp服務)
[root@master ~]# timedatectl Local time: Sat 2021-05-08 17:32:46 CST Universal time: Sat 2021-05-08 09:32:46 UTC RTC time: Sat 2021-05-08 09:32:46 Time zone: Asia/Shanghai (CST, +0800) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: n/a
注意:設置了NTP自動同步后,手動設置時間命令將不生效,會出現Failed to set time: Automatic time synchronization is enabled
[root@master ~]# timedatectl set-time 2021-01-01 Failed to set time: Automatic time synchronization is enabled