如何在Ubuntu 16.04上设置时间同步

介绍

准确的计时已成为现代软件部署的关键组成部分。无论是确保以正确的顺序记录日志还是正确应用数据库更新,不同步的时间都可能导致错误,数据损坏和其他难以调试的问题。

Ubuntu 16.04具有内置的时间同步功能,默认情况下使用systemd的timesyncd服务激活。在本文中,我们将介绍一些与时间相关的基本命令,验证timesyncd是否处于活动状态,并了解如何安装备用网络时间服务。

准备

在开始本教程之前,您将需要一个Ubuntu 16.04服务器,该服务器具有sudo启用权限的非root用户。没有服务器的用户可以购买和使用腾讯云服务器或者直接在腾讯云实验室Ubuntu服务器上设置时间同步。

导航基本时间命令

查找服务器上时间的最基本命令是date。任何用户都可以输入此命令来打印日期和时间:

$ date
Wed Apr 26 17:44:38 UTC 2017

大多数情况下,您的服务器将默认为UTC时区,如上面的输出所示。UTC是世界协调时间,经度为零度的时间。当您的基础架构跨越多个时区时,始终如一地使用通用时间可以减少混淆。

如果您有不同的要求并需要更改时区,则可以使用timedatectl命令执行此操作。

首先,列出可用的时区:

$ timedatectl list-timezones

时区列表将打印到您的屏幕。您可以按SPACE向下翻页,然后b翻页。找到正确的时区后,记下它,然后输入q以退出列表。

现在用timedatectl set-timezone设置时区,确保将下面突出显示的部分替换为您在列表中找到的时区。您需要使用带有timedatectlsudo来进行此更改:

$ sudo timedatectl set-timezone America/New_York

您可以再次运行date来验证更改:

$ date
Wed Apr 26 13:55:45 EDT 2017

时区缩写应反映新选择的值。

现在我们知道如何检查时钟和设置时区,让我们确保我们的时间正确同步。

使用timedatectl控制时间同步

直到最近,大多数网络时间同步都由网络时间协议守护程序或ntpd处理。此服务器连接到其他NTP服务器池,为其提供持续且准确的时间更新。

Ubuntu的默认安装现在使用timesyncd而不是ntpd。timesyncd连接到相同的时间服务器,并以大致相同的方式工作,但更轻量级,更集成systemd和Ubuntu的低级别工作。

我们可以通过不带参数运行timedatectl来查询timesyncd的状态。在这种情况下你不需要使用sudo

$ timedatectl
Local time: Wed 2017-04-26 17:20:07 UTC
  Universal time: Wed 2017-04-26 17:20:07 UTC
        RTC time: Wed 2017-04-26 17:20:07
       Time zone: Etc/UTC (UTC, +0000)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

这将打印出本地时间,通用时间(如果您没有从UTC时区切换,可能与本地时间相同),以及一些网络时间状态信息。Network time on: yes表示启用了timesyncd,NTP synchronized: yes表示时间已成功同步。

如果未启用timesyncd,请使用timedatectl将其打开:

$ sudo timedatectl set-ntp on

再次imedatectl确认网络时间状态。实际同步可能需要一分钟,但最终Network ime on:NTP synchronized:应读取yes

切换到ntpd

尽管时间同步对于大多数目的来说都很好,但是对于即使是最轻微的时间扰动非常敏感的一些应用程序也可以通过ntpd更好地服务,因为它使用更复杂的技术来不断地逐步保持系统时间的正常运行。

在安装ntpd之前,我们应该关闭timesyncd

$ sudo timedatectl set-ntp no

验证timesyncd是否已关闭:

$ timedatectl

在输出中查找Network time on:no。这意味着timesyncd已经停止。我们现在可以使用apt-get安装ntp包:

$ sudo apt-get install ntp

ntpd将在安装后自动启动。您可以在ntpd中查询状态信息,以验证一切正常:

$ sudo ntpq -p
remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
0.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
1.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
2.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
3.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
ntp.ubuntu.com  .POOL.          16 p    -   64    0    0.000    0.000   0.000
-makaki.miuku.ne 210.23.25.77     2 u   45   64    3  248.007   -0.489   1.137
-69.10.161.7     144.111.222.81   3 u   43   64    3   90.551    4.316   0.550
+static-ip-85-25 130.149.17.21    2 u   42   64    3   80.044   -2.829   0.900
+zepto.mcl.gg    192.53.103.108   2 u   40   64    3   83.331   -0.385   0.391

ntpq是ntpd的查询工具。-p标志要求提供有关ntpd连接到的NTP服务器(或对等方)的信息。您的输出会略有不同,但应列出默认的Ubuntu池服务器以及其他一些服务器。请记住,ntpd建立连接可能需要几分钟时间。

结论

在本文中,我们展示了如何查看系统时间,更改时区,使用Ubuntu的默认时间同步以及安装ntpd,您可以参考官方的NTP文档


参考文献:《How To Set Up Time Synchronization on Ubuntu 16.04》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏梦里茶室

TL-WR703Nv1.7刷写openwrt固件

TP-LINK TL-WR703N是一个小型的路由器,可以有线转WiFi,3G转WiFi,很多人拿它刷openwrt系统,然后可以在上面各种搞事。 V1.7以前...

43080
来自专栏无题

MemCache要点

* 1.特点 ####优势: 协议简单 使用Slab Allocation作为内置内存存储方式 该方案简单说是框架根据数据大小选择最合适的Slab,Memca...

47180
来自专栏前端萌媛的成长之路

一波webpack

21740
来自专栏皮振伟的专栏

[linux][memory]进程的最大内存使用量的讨论

前言: 一个进程最大能使用多少虚拟内存,能控制的地方还是比想象的多一点。 尤其是IaaS上,一个qemu进程能使用多少虚拟内存,就是对应着虚拟机的物理内存的最大...

2.9K110
来自专栏linux系统运维

原 添加自定义监控项目,配置邮件告警,测

21630
来自专栏云计算教程系列

如何在Ubuntu上构建Android ROM

Android是当今世界上最流行的操作系统。数以百计的不同设备制造商选择将其安装在他们的设备上,因为它是免费的开源的,并且围绕它构建了大量的应用程序和服务生态系...

25000
来自专栏云计算教程系列

如何在Ubuntu 14.04上的从属PowerDNS服务器上配置DNS复制 ###

在本教程中,我们将学习如何在主/从配置中设置PowerDNS,并从主DNS服务器到从服务器进行自动复制。

36800
来自专栏北京马哥教育

DNS从入门到管理(一)

DNS概述 DNS(Domain Name System,域名系统),域名和IP地址相互映射的一个分布式数据库,通过主机名,最终得到该主机名对应的IP地址的过程...

73960
来自专栏ChaMd5安全团队

Beef框架中加载metasploit模块

Beef框架中加载metasploit模块 From ChaMd5安全团队核心成员 小丸子 一、前言 近段时间一直看到网上讨论有关Beef框架中如何加载Meta...

44860
来自专栏龙首琴剑庐

基于复杂方案OWSAP CsrfGuard的CSRF安全解决方案(适配nginx + DWR)

1、什么是CSRF? 已经有很多博文讲解其过程和攻击手段,在此就不重复了。 O(∩_∩)O 不清楚的同学,请自行搜索或按链接去了解: http://blog...

56370

扫码关注云+社区

领取腾讯云代金券