某些分布式集群环境需要时间同步才可以正确运行,故本文说明linux同步时间的两种方法,网络同步和手动同步并写入BIOS

环境

Centos7

[root@mym ~]# date
Sun Jul 29 01:16:14 EDT 2018

其中,EDT表示美国东部夏令时。我们也要换成东8区CST时间

同步时间可以手动设置或者网络同步

网络同步

(1)
命令:ntpdate -u ntp.api.bz

若ntpdate命令不存在则安装即可:yum -y install ntp

解释:

  • ntpdate表示网络同步时间
  • -u 表示可以越过防火墙与主机同步。可man ntpdate查看手册
  • ntp.api.bz是NTP服务器(上海)。笔者亲测有效
    如果仍然出现报错,那么有可能是ntp服务器停用了,可以上网百度其它ntp服务器。
no server suitable for synchronization found

成功后可查看时间:

[root@mym ~]# date
Sat Aug  4 13:34:17 CST 2018
  • 美国:time.nist.gov
  • 复旦:ntp.fudan.edu.cn
  • 微软公司授时主机(美国) :time.windows.com
  • 台警大授时中心(台湾):asia.pool.ntp.org

(2)修改时区
网络同步时间并不会帮助同步时区,同步时区的命令如下:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

如下执行

[root@mini3 ~]# date 
Sat Aug  4 01:50:47 EDT 2018
[root@mini3 ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@mini3 ~]# date
Sat Aug  4 13:52:29 CST 2018

(3)
最后进行写入BIOS

hwclock [-rw]
- -r:查看现有BIOS时间,默认为-r参数
- -w:将现在的linux系统时间写入BIOS中

注:当我们进行完 Linux 时间的校时后,还需要以 hwclock -w 来更新 BIOS 的时间,因为每次开机的时候,系统会重新由 BIOS 将时间读出来,所以, BIOS 才是重要的时间依据。

hwclock -w

手动同步

此方法不建议使用,毕竟手动同步还是会有偏差,但是当没有网络的时候就可以使用

  • 按照网络同步的方式先校准时区

  • 设置时间

日期设定:

date -s 2018/08/04

时间设定:

date -s 08:40:00

  • 写入BIOS
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐