Linux 中 date 时间和 hwclock 时间不一致解决方案

解释:

date命令:可以用来显示或设定 `系统` 的日期与时间
date命令可以用来显示或设定系统的日期与时间,在显示方面,
使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下
 
hwclock命令:用于显示与设定 `硬件` 时钟
在Linux中有硬件时钟与系统时钟等两种时钟。
硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。
当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。
所有Linux相关指令与函数都是读取系统时钟的设定。

方法一:

Linux设置系统时间为当前网络时间
1、系统时间
  date:查看当前系统时间
    修改时间:
   date -s "2020-02-02 08:09:20" 
2、硬件时间
  hwclock --show:查看当前硬件时间
3、ntpdate
  设置网络时间为当前系统时间
  1)安装工具:yum -y install ntp ntpdate
  2)设置系统时间与网络时间同步:ntpdate cn.pool.ntp.org
  3)将系统时间写入硬件时间:hwclock --systohc 


同步时间
1. 软件同步网络时间(中国国家授时中心:210.72.145.44)
ntpdate -u 210.72.145.44
# 同步中国国家授时中心时间,这样可以保持同步,但是机器重启后会还原
2. 保持重启后时间同步(2或3,先1种)
# 写入定时任务同步时间
*/10 * * * * /usr/sbin/ntpdate -u 210.72.145.44 &>/dev/null

注:亲测可用,修改系统时间只有超级管理员账号才可以

方法二:

一、在同步时间前需要先检查时区是否是china的CTS时区

注意:必须确保时区准确,否则时间同步后显示不正常

必须确保 时区 准确,否则时间同步显示不正常

date 命令查看系统时间

hwclock命令查看硬件时钟

二、如果时区不对,如,在中国,时区是CTS,若不是,修改方式:

执行命令:

tzselect
tzselect命令
选择 5) Asia,然后选择 9) China,然后选择 1) Beijing Time
修改时区a

修改时区b

三、将时区信息拷贝,并覆盖原来的时区信息,操作命令

覆盖原来的时区信息
复制相应的时区文件,替换系统时区文件;或者创建链接文件
cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime
例如:在设置中国时区使用亚洲/上海(+8)
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime:

注意:操作系统有两个时间: 软件时间和硬件时间

软件时间: 查看方式 date,是是距离1970.1.1的时间差;

硬件时间: sudo hwclock -r,硬件时间是BIOS的时间。

`-w : 将软件时间写入到硬件时间;`
`-r   : 读取硬件时间。`

查看并同步软件时间和硬件时间:

`**执行命令:** sudo hwclock -w; hwclock -r; date`
`**或者:** sudo hwclock --systohc`

你可能感兴趣的:(Linux 中 date 时间和 hwclock 时间不一致解决方案)