Linux系统时间不对可以通过以下三种方法修复
1、将硬件时间同步到系统时间
2、修改系统的时区
3、配置NTP客户端
系统时钟VS硬件时钟
在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。
date 查看系统时间
date -s 设置系统时间
hwclock查看硬件时间
hwclock -w 将硬件时间同步到系统时间
Linux系统时钟不对一般为时区设置有误
Centos7查询时区方法
[zyq@zyq ~]$ timedatectl
Local time: Tue 2023-01-17 13:56:36 CST
Universal time: Tue 2023-01-17 05:56:36 UTC
RTC time: Tue 2023-01-17 05:56:36
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
Centos6查询方法
cat /etc/sysconfig/clock
如果时区不是Asia/Shanghai,通过修改时区即可修复
时区如果没有问题可通过配置时钟客户端修复
常用的时钟服务器
cn.pool.ntp.org、asia.pool.ntp.org、pool.ntp.org、hk.pool.ntp.org
配置客户端
[zyq@zyq tmp]$ grep server /etc/ntp.conf
# Use public servers from the pool.ntp.org project.
server 0.rhel.pool.ntp.org iburst
server 1.rhel.pool.ntp.org iburst
server 2.rhel.pool.ntp.org iburst
server 3.rhel.pool.ntp.org iburst
#broadcast 192.168.1.255 autokey # broadcast server
#broadcast 224.0.1.1 autokey # multicast server
#manycastserver 239.255.254.254 # manycast server
以上是系统自带的服务器地址,如果要指定添加“serve 域名” 即可;没有ntp客户端sudo yum install ntpd即可
启动客户端
[zyq@zyq ~]$ sudo systemctl restart ntpd
检查与上层NTP服务器是否时钟同步成功
[zyq@zyq ~]$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
time.cloudflare 10.208.8.4 3 u 34 64 1 218.271 -14.928 20.049
*trabant.uid0.hu 84.2.44.19 3 u 33 64 1 245.959 -20.544 37.502
139.199.215.251 100.122.36.196 2 u 34 64 1 46.197 8.340 10.811
[zyq@zyq ~]$
remote:表示NTP服务器的IP地址或者主机名;
refid:表示NTP服务器所参考的时间源,通常为另一个NTP服务器或者外部时钟源;
st:表示NTP服务器的层级,层级数越小表示离主时钟源越近;
t:表示NTP服务器所使用的时钟类型,通常为u表示UDP时钟;
when:表示NTP客户端最后一次与该NTP服务器进行时间同步的时间,以秒为单位;
poll:表示NTP客户端与该NTP服务器之间的时间同步间隔,以2的幂次方秒为单位;
reach:表示NTP客户端最近8次向该NTP服务器发送时间同步请求的状态,1表示成功,0表示失败;
delay:表示NTP客户端与该NTP服务器之间的网络延迟,以毫秒为单位;
offset:表示NTP客户端与该NTP服务器之间的时间误差,以毫秒为单位;
jitter:表示NTP客户端与该NTP服务器之间时间误差的方差,以毫秒为单位。
在这个输出中,星号(*)表示当前系统正在使用的NTP服务器,也就是主NTP服务器。可以看到,当前NTP客户端与NTP服务器之间的时间误差(offset)为-20.544毫秒,网络延迟(delay)为245.959毫秒,时间同步的状态较为稳定。
ntp客户端与服务端都使用udp 123端口进行通信,默认11分钟会进行一次udp连接的建立。
注意:此ntpq工具需安装后使用yum -y install ntp
首次进行NTP时钟同步需要一定时间,请等待几分钟再进行检查。
注意:chronyd进程会与ntp进程冲突,确保系统没有此进程
systemctl stop chronyd
systemctl disable chronyd