在CentOS 6版本,時間設(shè)置有date、hwclock命令,從CentOS 7開始,使用了一個新的命令timedatectl。
一、基本概念
1.1 GMT、UTC、CST、DST 時間
(1) UTC
整個地球分為二十四時區(qū),每個時區(qū)都有自己的本地時間。在國際無線電通信場合,為了統(tǒng)一起見,使用一個統(tǒng)一的時間,稱為通用協(xié)調(diào)時(UTC, Universal Time Coordinated)。
(2) GMT
格林威治標(biāo)準時間 (Greenwich Mean Time)指位于英國倫敦郊區(qū)的皇家格林尼治天文臺的標(biāo)準時間,因為本初子午線被定義在通過那里的經(jīng)線。(UTC與GMT時間基本相同,本文中不做區(qū)分)
(3) CST
中國標(biāo)準時間 (China Standard Time)
GMT + 8 = UTC + 8 = CST
(4) DST
夏令時(Daylight Saving Time) 指在夏天太陽升起的比較早時,將時鐘撥快一小時,以提早日光的使用。(中國不使用)
1.2 硬件時鐘和系統(tǒng)時鐘
(1) 硬件時鐘
RTC(Real-Time Clock)或CMOS時鐘,一般在主板上靠電池供電,服務(wù)器斷電后也會繼續(xù)運行。僅保存日期時間數(shù)值,無法保存時區(qū)和夏令時設(shè)置。
(2) 系統(tǒng)時鐘
一般在服務(wù)器啟動時復(fù)制RTC時間,之后獨立運行,保存了時間、時區(qū)和夏令時設(shè)置。
二、timedatectl 命令
2.1 讀取時間
timedatectl //等同于 timedatectl status
2.2 設(shè)置時間
timedatectl set-time "YYYY-MM-DD HH:MM:SS"
2.3 列出所有時區(qū)
timedatectl list-timezones
2.4 設(shè)置時區(qū)
timedatectl set-timezone Asia/Shanghai
2.5 是否NTP服務(wù)器同步
timedatectl set-ntp yes //yes或者no
2.6 將硬件時鐘調(diào)整為與本地時鐘一致
timedatectl set-local-rtc 1
hwclock --systohc --localtime //與上面命令效果一致
注意 硬件時鐘默認使用UTC時間,因為硬件時鐘不能保存時區(qū)和夏令時調(diào)整,修改后就無法從硬件時鐘中讀取出準確標(biāo)準時間,因此不建議修改。修改后系統(tǒng)會出現(xiàn)下面的警告。
2.6 硬件時間設(shè)置成 UTC:
timedatectl set-local-rtc 1
hwclock --systohc --utc //與上面命令效果一致