朴国昌 發表於 2023-1-6 14:56:00

Ubuntu 20.04 设置时区、配置NTP同步 timesyncd 代替 ntpd

<p>本文的服务器环境为 Ubuntu 20.04 系统,一个拥有 sudo 权限的非 root用户,并开启了防火墙。</p>
<h2 id="navigating-basic-time-commands">基本时间命令</h2>
<p>要在 Ubuntu 20.04 系统上查看服务器时间,可以使用 <code>date</code> 命令。任何用户都可以运行该命令来查询日期和时间:</p>
<p>通常,服务器默认使用的是UTC时间(世界标准时间)。</p>
<pre class="language-bash highlighter-hljs"><code>date
Thu Aug 5 15:55:20 UTC 2021</code></pre>
<p>UTC 时间也叫世界标准时间,即经度为零的时间。UTC 时间可能无法反映您当前的时区时间,但如果您的服务跨越多个时区时,使用UTC 时间可以防止混淆。</p>
<pre class="language-powershell highlighter-hljs"><code>0时经线是变动的 任意一条经线在特定时间内都可以是0时经线
0°经线=本初子午线</code></pre>
<p>但是,如果要更改时区,我们可以使用 <code>timedatectl</code> 命令。</p>
<p>首先,运行下面的命令以生成可用时区列表:</p>
<pre class="language-bash highlighter-hljs"><code>#查看时区列表
timedatectl list-timezones</code></pre>
<p>时区列表会打印到屏幕上。您可以按 <code>SPACE</code> 向下翻页使用 <code>b</code> 向上翻页。找到正确的时区后,记下它,然后键入 <code>q</code> 退出列表。</p>
<p>接下来,使用 timedatectl set-timezone 命令来设置时区,将下面高亮显示的部分替换为刚刚在列表中找到的本地时区:</p>
<pre class="language-bash highlighter-hljs"><code>#设置上海时区
sudo timedatectl set-timezone Asia/Shanghai</code></pre>
<p>以前,大多数网络时间同步通过“ntpd”处理,通过连接到其他 NTP 服务器,来提供持续且准确的时间更新。</p>
<p>但是现在在 Ubuntu 系统上,默认使用 <code>timesyncd 代替 ntpd</code> 。<code>timesyncd</code> 通过连接到相同的时间服务器,但它是轻量级的,并且与 Ubuntu 的 <code>systemd</code> 集成得更好。</p>
<p>可以通过直接运行 <code>timedatectl</code> 来查询 <code>timesyncd</code> 的状态。</p>
<pre class="language-powershell highlighter-hljs"><code>#查看NTP状态
timedatectl status 或者 timedatectl
               Local time: Fri 2023-01-06 14:41:01 CST
         Universal time: Fri 2023-01-06 06:41:01 UTC
               RTC time: Fri 2023-01-06 06:41:01
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
            NTP service: active
          RTC in local TZ: no</code></pre>
<p><code>System clock synchronized: yes</code> 指令表示时间同步成功,<code>NTP service: active</code> 指令表示 <code>timesyncd</code> 已启动并运行。</p>
<p>如果输出显示 NTP 服务未激活,可使用以下命令将其打开:</p>
<pre class="language-bash highlighter-hljs"><code>sudo timedatectl set-ntp on</code></pre>
<p>之后,再次运行 <code>timedatectl</code> 以确认网络时间状态。</p>
<p><span style="color: rgba(224, 62, 45, 1)">*NTP服务器配置路径:</span>/etc/systemd/timesyncd.conf</p>
<p>格式:</p>
<pre class="language-bash highlighter-hljs"><code># See timesyncd.conf(5) for details.


NTP=ntp-z.gwmfc.com</code></pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<hr>
<h2 id="switching-to-ntpd">切换到&nbsp;<code>ntpd</code></h2>
<p>在大多数情况下 <code>timesyncd</code> 都可以使用。然而,在某些情况下,timesyncd 程序可能被干扰。在这种情况下,可以使用 <code>ntpd</code>。</p>
<p>我们首先需要先关闭 <code>timesyncd</code>,以免两个服务相互冲突:</p>
<pre class="wp-block-code highlighter-hljs"><code>sudo timedatectl set-ntp no</code></pre>
<p>检查时间同步是否已禁用:</p>
<pre class="wp-block-code highlighter-hljs"><code>timedatectl</code></pre>
<p>检查输出是否为 <code>NTP service: inactive</code>。如果是意味着 <code>timesyncd</code> 已经停止。</p>
<p>现在,运行 <code>apt update</code> 以更新本地包索引:</p>
<pre class="wp-block-code highlighter-hljs"><code>sudo apt update</code></pre>
<p>然后,运行 <code>apt install ntp</code> 安装 ntp 包:</p>
<pre class="wp-block-code highlighter-hljs"><code>sudo apt install ntp</code></pre>
<p><code>ntpd</code> 安装完成后将自动运行。可以通过 <code>ntpd</code> 查询运行状态是否正常:</p>
<pre class="wp-block-code highlighter-hljs"><code>ntpq -p</code></pre>
<pre class="wp-block-code highlighter-hljs"><code>Output
         remote         refid      st t when poll reach   delay   offsetjitter
==============================================================================
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
+t1.time.bf1.yah 129.6.15.28      2 u   16   64    1   61.766-20.068   1.964
+puppet.kenyonra 80.72.67.48      3 u   16   64    1    2.622-18.407   2.407
*ntp3.your.org   .GPS.            1 u   15   64    1   50.303-17.499   2.708
+time.cloudflare 10.4.1.175       3 u   15   64    1    1.488-18.295   2.670
+mis.wci.com   216.218.254.2022 u   15   64    1   21.527-18.377   2.414
+ipv4.ntp1.rbaum 69.89.207.99   2 u   12   64    1   49.741-17.897   3.417
+time.cloudflare 10.4.1.175       3 u   15   64    1    1.039-16.692   3.378
+108.61.73.243   129.6.15.29      2 u   14   64    1   70.060-16.993   3.363
+ny-time.gofile. 129.6.15.28      2 u   21   64    1   75.349-18.333   2.763
golem.canonical 17.253.34.123    2 u   28   64    1134.482-21.655   0.000
ntp3.junkemailf 216.218.254.2022 u   19   64    1    2.632-16.330   4.387
clock.xmission. .XMIS.         1 u   18   64    1   24.927-16.712   3.415
alphyn.canonica 142.3.100.2      2 u   26   64    1   73.612-19.371   0.000
strongbad.voice 192.5.41.209   2 u   17   64    1   70.766-18.159   3.481
chilipepper.can 17.253.34.123    2 u   25   64    1134.982-19.848   0.000
pugot.canonical 145.238.203.14   2 u   28   64    1135.694-21.075   0.000</code></pre>
<p><code>ntpq</code> 是一个 <code>ntpd</code> 的查询工具。这里的 <code>-p</code> 参数为请求 <code>ntpd</code> 连接到的 NTP 服务器信息。</p>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/Magiclala/p/17030519.html
頁: [1]
查看完整版本: Ubuntu 20.04 设置时区、配置NTP同步 timesyncd 代替 ntpd