解决linux时间同步

一:问题

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
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值