[scode type="blue"] **名词介绍** - UTC:整个地球分为二十四时区,每个时区都有自己的本地时间,在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC:Universal Time Coordinated)。 - GMT:格林威治标准时间 (Greenwich Mean Time)指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线(UTC与GMT时间基本相同)。 - CST:中国标准时间 (China Standard Time) - GMT + 8 = UTC + 8 = CST - RTC(Real-Time Clock)或CMOS时间:硬件时间,一般在主板上靠电池供电,服务器断电后也会继续运行。仅保存日期时间数值,无法保存时区和夏令时设置。 - DST:夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时间拨快一小时,以提早日光的使用(中国不使用)。 - NTP service:网络时间协议(Network Time Protocol) - System clock synchronized:NTP同步情况 - RTC in local TZ:RTC是否使用本地时区[/scode] [scode type="share"]在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。[/scode] ## 硬件时间调整 ## 显示RTC硬件时钟与日期 `hwclock -r` 将系统时钟调整为与目前的RTC硬件时钟一致 `hwclock -s` 将RTC硬件时钟调整为与目前的系统时钟一致 `hwclock -w` ## 系统时间调整 ## [scode type="blue"]调整系统时间的命令`timedatectl`,基于`systemd`,支持CentOS7及以上的系统[/scode] [scode type="yellow"]`systemd`从`220`版本起[停止对DST夏令时的管理][1],版本可通过命令`timedatectl --version`查看[/scode] 查看时区 `timedatectl` 查看时区列表 `timedatectl list-timezones` 设置时区 `timedatectl set-timezone Asia/Shanghai` 手动修改时间方法 `timedatectl set-time "yyyy-mm-dd HH:MM:SS"` 或者可以使用date命令修改时间 `date -s "yyyy-mm-dd HH:MM:SS"` [scode type="share"]以下四个命令中的true/false 可使用1/0、yes/no代替[/scode] 启用NTP服务(启用NTP服务或者Chrony服务) `timedatectl set-ntp true` 关闭NTP服务 `timedatectl set-ntp false` 设置硬件时钟为本地时区 `timedatectl set-local-rtc true` 设置硬件时钟为UTC时间 `timedatectl set-local-rtc false` [scode type="yellow"]执行`set-local-rtc`命令时,增加选项`--adjust-system-clock`可将RTC时间应用到系统时钟,反之则根据系统时钟来更新RTC时间[/scode] [1]: https://github.com/systemd/systemd/commit/16c6ea29348ddac73998f339166f863bee0dfef6 Loading... <div class="tip inlineBlock info"> **名词介绍** - UTC:整个地球分为二十四时区,每个时区都有自己的本地时间,在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC:Universal Time Coordinated)。 - GMT:格林威治标准时间 (Greenwich Mean Time)指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线(UTC与GMT时间基本相同)。 - CST:中国标准时间 (China Standard Time) - GMT + 8 = UTC + 8 = CST - RTC(Real-Time Clock)或CMOS时间:硬件时间,一般在主板上靠电池供电,服务器断电后也会继续运行。仅保存日期时间数值,无法保存时区和夏令时设置。 - DST:夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时间拨快一小时,以提早日光的使用(中国不使用)。 - NTP service:网络时间协议(Network Time Protocol) - System clock synchronized:NTP同步情况 - RTC in local TZ:RTC是否使用本地时区 </div> <div class="tip inlineBlock share"> 在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。 </div> ## 硬件时间调整 ## 显示RTC硬件时钟与日期 `hwclock -r` 将系统时钟调整为与目前的RTC硬件时钟一致 `hwclock -s` 将RTC硬件时钟调整为与目前的系统时钟一致 `hwclock -w` ## 系统时间调整 ## <div class="tip inlineBlock info"> 调整系统时间的命令`timedatectl`,基于`systemd`,支持CentOS7及以上的系统 </div> <div class="tip inlineBlock warning"> `systemd`从`220`版本起[停止对DST夏令时的管理][1],版本可通过命令`timedatectl --version`查看 </div> 查看时区 `timedatectl` 查看时区列表 `timedatectl list-timezones` 设置时区 `timedatectl set-timezone Asia/Shanghai` 手动修改时间方法 `timedatectl set-time "yyyy-mm-dd HH:MM:SS"` 或者可以使用date命令修改时间 `date -s "yyyy-mm-dd HH:MM:SS"` <div class="tip inlineBlock share"> 以下四个命令中的true/false 可使用1/0、yes/no代替 </div> 启用NTP服务(启用NTP服务或者Chrony服务) `timedatectl set-ntp true` 关闭NTP服务 `timedatectl set-ntp false` 设置硬件时钟为本地时区 `timedatectl set-local-rtc true` 设置硬件时钟为UTC时间 `timedatectl set-local-rtc false` <div class="tip inlineBlock warning"> 执行`set-local-rtc`命令时,增加选项`--adjust-system-clock`可将RTC时间应用到系统时钟,反之则根据系统时钟来更新RTC时间 </div> [1]: https://github.com/systemd/systemd/commit/16c6ea29348ddac73998f339166f863bee0dfef6 Last modification:January 29, 2023 © Allow specification reprint Like 如果觉得我的文章对你有用,请随意赞赏