centos7时钟相关

centos7已经时间同步,虚拟机挂起后,第二天再次启动时间设置问题

systemctl restart ntpd
ntpq -p // 同步时间

设置系统时间为中国时区并启用NTP同步

yum install ntp // 安装ntp服务
systemctl enable ntpd // 开机启动服务
systemctl start ntpd // 启动服务
timedatectl set-timezone Asia/Shanghai // 更改时区
timedatectl set-ntp yes // 启用ntp同步
ntpq -p // 同步时间

timedatectl 命令

# 读取时间
timedatectl  //等同于 timedatectl status
# 设置时间
timedatectl set-time "YYYY-MM-DD HH:MM:SS"
# 列出所有时区
timedatectl list-timezones
# 更改时区
timedatectl set-timezone Asia/Shanghai
# 或   ln -sf /usr/share/zoneinfor/Asia/Shanghai /etc/localtime     
设置是否与NTP服务器同步
timedatectl set-ntp yes  //yes或者no
将硬件时钟调整为与本地时钟一致
hwclock --systohc --localtime 或 timedatectl set-local-rtc 1
注,硬件时钟默认使用UTC时间,因为硬件时钟不能保存时区和夏令时调整,修改后就无法从硬件时钟中读取出准确标准时间,因此不建议修改。修改后系统会出现警告。
将硬件时间设置成 UTC
hwclock --systohc --utc 或 timedatectl set-local-rtc 1
# 显示硬件时间:
hwclock --show
# 设置硬件时间:
hwclock --set --date ‘08/02/2012 12:00:00’
# 将硬件时间同步到系统时间:
hwclock --hctosys
# 强制把系统时间写入CMOS:
# clock -w

时钟概念
在CentOS 6版本,时间设置有date、hwclock命令,从CentOS 7开始,使用了一个新的命令timedatectl。
(1)UTC
整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。
(2)GMT
格林威治标准时间 (Greenwich Mean Time)指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。(UTC与GMT时间基本相同,本文中不做区分)
(3)CST
中国标准时间 (China Standard Time)【GMT + 8 = UTC + 8 = CST】
(4)DST
夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时钟拨快一小时,以提早日光的使用。(中国不使用)

硬件时钟:
RTC(Real-Time Clock)或CMOS时钟,一般在主板上靠电池供电,服务器断电后也会继续运行。仅保存日期时间数值,无法保存时区和夏令时设置。

系统时钟:
一般在服务器启动时复制RTC时间,之后独立运行,保存了时间、时区和夏令时设置。

现象:每隔一段时间,系统时间比BIOS硬件时间走慢几分钟,timedatectl命令看到了NTP synchronized cannot set to yes
CentOS 7.5, 配置过ntpd与某个时间服务器同步后,偶然发现某一个节点的NTP synchronized一直是no:

# timedatectl
      Local time: 二 2019-07-30 09:41:08 CST
  Universal time: 二 2019-07-30 01:41:08 UTC
        RTC time: 二 2019-07-30 01:08:13
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

停掉ntpd, 执行ntpd -gq重新调整时间后,再启动ntpd:

# systemctl stop ntpd
# ntpd -gq
ntpd: time slew +0.000041s
# systemctl start ntpd

等待一会儿后,NTP synchronized恢复成yes:

# timedatectl
      Local time: 二 2019-07-30 09:44:28 CST
  Universal time: 二 2019-07-30 01:44:28 UTC
        RTC time: 二 2019-07-30 01:44:28
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

参考:https://www.jianshu.com/p/6c03ec89bda0

原文地址:https://www.cnblogs.com/InternetJava/p/15731293.html