centos7系統時間管理timedatectl


在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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM