在Ubuntu 18.04上,如何设置时间同步

・7 分钟阅读

介绍

Ubuntu 18 04内置了时间同步功能,并默认使用systemd的timesyncd服务激活了该功能,在本文中,我们将研究一些与时间相关的基本命令,验证timesyncd是否处于活动状态,并学习如何安装备用网络时间服务。

前提条件

在开始本教程之前,需要一个带有非root用户的Ubuntu 18.04服务器,按此Ubuntu 18.04服务器安装教程 配置。

浏览基本时间命令

找出服务器上的时间最基本的命令是date


date


OutputTue Jul 10 14:48:52 UTC 2018

大多数情况下,服务器将默认为UTC时区,如上面的输出所示,UTC为协调世界时,为零度经度,

如果有不同的需求,并且需要更改时区,那么可以使用timedatectl命令来实现。

首先,列出可用的时区:


timedatectl list-timezones

此时将在屏幕上打印一个时区列表,你可以按SPACE键向下翻页,然后按b键向上翻页,

使用timedatectl set-timezone设置时区,确保将下面突出显示的部分替换为你在列表中找到的时区,你将需要使用sudotimedatectl来进行这个更改:


sudo timedatectl set-timezone America/New_York

通过再次运行date来验证你的更改:


date


OutputTue Jul 10 10:50:53 EDT 2018

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

使用timedatectl控制timesyncd

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

通过运行不带参数的timedatectl来查询timesyncd的状态,


timedatectl


Output Local time: Tue 2018-07-10 10:54:12 EDT
 Universal time: Tue 2018-07-10 14:54:12 UTC
 RTC time: Tue 2018-07-10 14:54:12
 Time zone: America/New_York (EDT, -0400)
 System clock synchronized: yes
systemd-timesyncd.service active: yes
 RTC in local TZ: no

这将打印本地时间,通用时间(如果你没有从UTC时区切换,则可能与本地时间相同)和一些网络时间状态信息,System clock synchronized: yes 指示已成功同步时间,并且 systemd-timesyncd.service active: yes 表示timesyncd已启用并正在运行。

如果timesyncd处于非活动状态,请使用timedatectl将它打开:


sudo timedatectl set-ntp on

再次运行timedatectl以确认网络时间状态,实际同步可能需要一分钟,但是,最终Network time on:NTP synchronized:都应该读取yes

切换到ntpd

尽管timesyncd在大多数情况下都可以使用,但是ntpd可以更好地服务于某些对时间微扰非常敏感的应用程序,因为它使用更复杂的技术来不断地使系统时间保持在正常状态。

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


sudo timedatectl set-ntp no

确认timesyncd已关闭:


timedatectl

查找 systemd-timesyncd.service active: no 在输出中这意味着timesyncd已停止,我们现在可以使用apt安装ntp软件包:


sudo apt update
sudo apt install ntp

ntpd将在安装后自动启动,你可以查询ntpd以获取状态信息,以验证所有内容是否正常工作:


ntpq -p


Output 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
+ec2-52-0-56-137 216.239.35.0 2 u 16 64 1 7.872 -2.137 1.485
+66.220.10.2 129.6.15.30 2 u 12 64 1 65.204 3.740 2.686
+block.steinhoff 209.51.161.238 2 u 11 64 1 33.364 1.710 3.586
+eterna.binary.n 216.229.0.50 3 u 11 64 1 35.330 2.821 2.839
+2604:a880:800:1 209.51.161.238 2 u 14 64 1 0.394 0.386 2.462
+ec2-52-6-160-3. 130.207.244.240 2 u 11 64 1 8.150 2.050 3.053
+mx.danb.email 127.67.113.92 2 u 13 64 1 63.868 1.539 2.240
*hydrogen.consta 129.6.15.28 2 u 12 64 1 2.989 1.755 2.563
+ntp-3.jonlight. 127.67.113.92 2 u 10 64 1 64.561 2.122 3.593
+undef.us 45.33.84.208 3 u 12 64 1 33.508 1.631 3.647
+ntp-3.jonlight. 127.67.113.92 2 u 8 64 1 64.253 2.645 3.174
 2001:67c:1560:8 145.238.203.14 2 u 22 64 1 71.155 -1.059 0.000
+test.diarizer.c 216.239.35.4 2 u 11 64 1 64.378 4.648 3.244
 2001:67c:1560:8 145.238.203.14 2 u 18 64 1 70.744 -0.964 0.000
 alphyn.canonica 132.246.11.231 2 u 17 64 1 7.973 -0.170 0.000
+vps5.ctyme.com 216.218.254.202 2 u 10 64 1 65.874 1.902 2.608

ntpq是用于ntpd的查询工具,-p标志询问有关NTP服务器的(或p eers )ntpd已连接到的信息,请记住,ntpd建立连接可能需要花几分钟的时间。

结束语

在本文中,我们展示了如何查看系统时间,更改时区,如何使用Ubuntu的默认timesyncd以及如何安装ntpd。

Yangchunyan110 profile image