• 解决时间同步


    一:问题

    1.问题描述

    初学Linux(虚拟机)的小伙伴(俺也是)可能会遇到这种问题:把时区设置成了东八区,时间也修改成了正确的,但是重启之后,时间又不对了

    2.问题原因

    分析

    在Linux计算机上,有2个时间,一个是硬件时间(BIOS中记录的时间,称为hwclock),另一个是操作系统时间(osclock)

    硬件时钟由BIOS电池供电,在虚拟机中,一旦关机或者挂起,就会影响硬件时间

    当计算机关机后,会继续运行

    在Linux系统中,默认使用的是UTC时间

    即使在安装系统的时候,选择的时区是亚洲上海,Linux默认的BIOS时间(也称:硬件时间)也是UTC时间

    在重启之后,系统时间会和硬件时间同步,如果两者不一致,会以硬件时间为标准进行时间的校准

    所以,之前设置的时区和时间就失效了

    UTC

    UTC:协调世界时(Universal Time Coordinated) 英文缩写

    是由国际无线电咨询委员会规定和推荐,并由国际时间局(BIH)负责保持的以秒为基础的时间标度

    UTC相当于本初子午线(即经度0度)上的平均太阳时,过去曾用格林威治平均时(GMT)来表示

    北京时间比UTC时间早8小时,以1999年1月1日0000UTC为例,UTC时间是零点,北京时间为1999年1月1日早上8点整

    3.查看时间的相关命令

    # 查看当前系统时间
    date
    
    
    # 查看当前硬件时间
    hwclock
    

    二:解决方法

    1.方法1 - 定时同步

    ① 把当前时区调整为上海(东8区)

    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    

    ② 同步标准时间

    # 安装时间同步工具ntpdate(如已安装,请忽略)
    yum install ntpdate -y
    
    
    # 用工具ntpdate同步时间
    ntpdate us.pool.ntp.org
    

    ③ 加入定时计划,每隔5分钟 同步1次时间

    # 配置定时任务
    crontab -e
    
    # 按i进入插入模式,输入以下内容
    0-59/10 * * * * /usr/sbin/ntpdate us.pool.ntp.org | logger -t NTP
    

    2.方法2

    ① 编辑时间配置文件

    # 用vim打开配置(如果没装vim,可以把vim换成vi)
    vim /etc/sysconfig/clock
    
    
    # 按i进入插入模式,输入以下内容(# 注释可以不复制)
    ZONE="Asia/Shanghai"
    UTC=false	# 设置为false,硬件时钟不于utc时间一致
    ARC=false
    

    ② 将Linux时区设置为上海

    # 建立同步连接
    ln -sf /usr/share/zoneinfo/Asia/Shanghai    /etc/localtime
    

    ③ 同步标准时间

    # 安装时间同步工具ntpdate(如已安装,请忽略)
    yum install ntpdate -y
    
    
    # 用工具ntpdate同步时间
    ntpdate us.pool.ntp.org
    

    ④ 设置硬件时间和系统时间一致并校准

    /sbin/hwclock --systohc
    
  • 相关阅读:
    access 连接数据库
    Debug 和 Release 的区别
    Centos
    打印画面
    读取文件夹以及消除
    常用的文件文件夹目录的操作函数
    db的操作
    从数据库取数据
    pdf文件的作成
    读取文件
  • 原文地址:https://www.cnblogs.com/xuexianqi/p/14157057.html
Copyright © 2020-2023  润新知