linux 系统时间EDT,不是中国标准时区CST,且时间不同步问题的解决方法

    技术2022-07-11  82

    今天遇到的问题,处理完之后写一下博客所为:

    问题:

    由于系统时间不正确导致now()时候进行同步时间错误,相差10几分钟左右

    问题原因是linux系统时间上的有时间差

    一开始直接用命令

    date -s "20200701 17:16:00"

    修改之后过一段时间还是会有时间差出现

    问题的原因是:linux的时间有系统时间和硬件时间的区别,系统时间同步硬件时间,如果只修改系统时间,重启后系统时间就会变成硬件时间,因此在修改linux时间的时候,不能只修改系统时间还要同步硬件时间

    解决方法步骤 :

    [root@localhost ~]#  tzselect

    1.回车会出现:

    2.这里我们是中国的北京时间,所以直接输入5回车

    3.中国时区当然选择China 输入9回车

    4.输入1回车,然后继续1回车

    5.下面这个这个时候是告诉你去设置一下profile

    TZ='Asia/Shanghai'

    export TZ

    这两个值

    [root@localhost ~]# vim /etc/profile

    直接在文件最后编辑如图:

    然后保存退出,执行下面的语句使修改的配置生效

    以上是修改设置中国标准时间,下面是系统时间的同步

    [root@localhost ~]# source /etc/profile

    1.然后用date查询,现在的时区已经是中国标准时区了,接下来就是修改同步时间

    例如,现在要求设置系统时间为2020-07-01 17:16:00 

    2,查看硬件时间,使用命令hwclock。

    [root@localhost ~]# hwclock

    Wed 01 Jul 2020 05:40:05 PM CST  -0.687364 seconds

    3,调整时间为要求的时间。先设置系统时间,再根据系统时间同步硬件时间。(注:这里也可以先设置硬件时间再同步系统时间)

    [root@localhost ~]# hwclock Wed 01 Jul 2020 05:40:05 PM CST  -0.687364 seconds [root@localhost ~]# date -s 07/01/2020 Wed Jul  1 00:00:00 CST 2020  [root@localhost ~]# date -s 17:16:00  Wed Jul  1 17:16:00 CST 2020 [root@localhost ~]# hwclock --systohc ##使系统时间同步硬件时间 

    [root@lyn ~]# hwclock

    Wed 01 Jul 2020 17:16:20 PM CST  -0.974111 seconds

     

    最后效果如上亲测-有效-成功 

     

    Processed: 0.014, SQL: 9