linux怎么和宿主机同步时间,Linux 中设置和同步时间

准确的系统时间是稳定服务的基础,本文介绍与时间相关的Linux命令,以及如何为自己的Linux服务器维护准确的时间。

时间

一台Linux服务器有两个时间源,一个是硬件时间,即服务器硬件CMOS维护的时间,还有一个是软件时间,即操作系统维护的时间,前者通过hwclock命令来访问,后者则主要通过date命令来访问。

date是最常用的时间相关的命令,例如:

1

2

3

4

5

6

7

8

9

10

11# 获取当前时间

$ date

Fri Jan 23 15:22:16 CST 2015

# 以特定格式输出当前时间,格式字符串前以"+"开头,例如获得当前时间的epoch

$ date +%s

1421998051

# 设置当前时间

$ sudo date -s "2015-01-22 00:00:00"

Thu Jan 22 00:00:00 CST 2015

需要注意的是设置时间需要root的权限。

hwclock命令用于访问服务器的硬件CMOS时间,无论读取还是设置都需要root权限,例如:

1

2

3

4

5

6

7

8

9# 获取系统硬件时间

$ sudo hwclock

Fri 23 Jan 2015 03:33:17 PM CST -0.567492 seconds

# 设置操作系统的软件时间,与系统硬件时间同步

$ sudo hwclock -s

# 设置系统硬件时间,与操作系统的软件时间同步

$ sudo hwclock -w

主机的硬件时间实际上是宿主机的操作系统时间。由于宿主机时间通过NTP服务做了时间同步,相对准确。如果发现云主机的操作系统时间不对,可以执行hwclock -s来校正时间。

时间同步

Linux操作系统维护的软件时间随着服务器的长时间运行会出现漂移,最终会越来越不准确。不准确的系统时间会对依赖时间的服务带来影响,例如数据库,认证等,因此需要维持一个相对准确的服务器时间。

目前,一般通过ntp服务来将本地时间和线上的时间服务保持同步,维护一个相对准确的系统时间。

CentOS下安装配置ntp服务的步骤如下:

1

2

3

4

5

6

7

8

9

10

11# 安装ntp服务的软件包

sudo yum install ntp

# 将ntp服务设置为缺省启动

sudo chkconfig ntp on

# 修改启动参数,增加-g -x参数,允许ntp服务在系统时间误差较大时也能正常工作

sudo vi /etc/sysconfig/ntpd

# 启动ntp服务

sudo service ntpd restart

Ubuntu/Debian下安装配置ntp服务的步骤如下:

1

2

3

4

5

6

7

8# 安装ntp服务的软件包

sudo apt-get install ntp

# 修改启动参数,增加-g -x参数,允许ntp服务在系统时间误差较大时也能正常工作

sudo vi /etc/default/ntp

# 启动ntp服务

sudo service ntp restart

ntp服务运行后,可以通过如下命令查看与上游时间服务器的同步情况:

1

2

3

4

5

6

7# ntpq -p

remote refid st t when poll reach delay offset jitter

==============================================================================

+dns.sjtu.edu.cn 15.179.156.248 3 u 8 64 335 24.860 6905.79 137.521

*dns1.synet.edu. 202.118.1.46 2 u 2 64 377 37.229 6949.50 76.682

+gus.buptnet.edu 202.112.31.197 3 u 1 64 377 24.884 6915.00 93.832

+juniperberry.ca 193.79.237.14 2 u 65 64 377 341.343 6865.43 151.539

时区

时区也是一个比较重要的时间参数,设置正确的时区能为我们的工作提供方便,避免困扰。目前主机设置的时区都是中国标准时间(CST),通过下面方式更改云主机的时区配置。

对于大部分Linux系统,各个时区设置文件放在/usr/share/zoneinfo/中,将/etc/localtime通过文件链接指向欲设置的时区配置文件即可。例如:

1

2# 将系统时区改为上海时间 (亦即CST时区)

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

以上就是Linux系统时间相关的一些基础知识。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值