云网牛站
所在位置:首页 > Linux教程 > 在Ubuntu Linux 18.04系统上设置时间同步的方法

在Ubuntu Linux 18.04系统上设置时间同步的方法

2019-07-31 10:14:23作者:范义稿源:云网牛站

本文的内容包括:在Ubuntu 18.04上设置时间同步、使用Timedatectl/Tzdata更改时区、在图形模式下配置时区。您可能已设置在特定时间运行的cron作业,以备份重要文件或执行任何与系统相关的任务,或者,您可能已配置日志服务器以定期将系统日志从系统中移出,如果您的时钟不同步,这些作业将无法在所需的时间执行,这就是为什么在Linux系统上设置正确的时区并保持时钟与Internet同步的原因很重要,本文介绍如何在Ubuntu Linux上设置时间同步,下面给出的步骤已经在Ubuntu 18.04上进行了测试,但是对于使用systemd timesyncd服务的其他基于Ubuntu的系统是通用的。

在Ubuntu Linux 18.04系统上设置时间同步的方法

 

在Ubuntu 18.04上设置时间同步

通常,我们在安装期间设置时区,但是,您可以根据需要更改或设置不同的时区。

首先,让我们使用“date”命令查看Ubuntu系统中的当前时区:

$ date

样本输出:

Tue Jul 30 11:47:39 UTC 2019

如上所述,“date”命令显示实际日期和当前时间,在这里,我当前的时区是UTC,代表协调世界时。

或者,您可以查找/etc/timezone文件以查找当前时区:

$ cat /etc/timezone

UTC

现在,让我们看看时钟是否与Internet同步,为此,只需运行:

$ timedatectl

样本输出:

Local time: Tue 2019-07-30 11:53:58 UTC

Universal time: Tue 2019-07-30 11:53:58 UTC

RTC time: Tue 2019-07-30 11:53:59

Time zone: Etc/UTC (UTC, +0000)

System clock synchronized: yes

systemd-timesyncd.service active: yes

RTC in local TZ: no

如您所见,“timedatectl”命令显示本地时间、通用时间、时区以及系统时钟是否与Internet服务器同步以及systemd-timesyncd.service是处于活动状态还是非活动状态,就我而言,系统时钟正在与Internet时间服务器同步。

如果时钟不同步,您会看到“System clock synchronized: no”,如下面的屏幕截图所示:

在Ubuntu Linux 18.04系统上设置时间同步的方法

注意:上面的截图是旧截图,这就是你看到不同日期的原因。

如果您看到System clock synchronized: value set as no,则时间同步服务可能处于非活动状态,因此,只需重新启动服务,看看它是否有帮助:

$ sudo systemctl restart systemd-timesyncd.service

现在检查timesyncd服务状态:

$ sudo systemctl status systemd-timesyncd.service

systemd-timesyncd.service - Network Time Synchronization

Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)

Active: active (running) since Tue 2019-07-30 10:50:18 UTC; 1h 11min ago

Docs: man:systemd-timesyncd.service(8)

Main PID: 498 (systemd-timesyn)

Status: "Synchronized to time server [2001:67c:1560:8003::c7]:123 (ntp.ubuntu.com)."

Tasks: 2 (limit: 2319)

CGroup: /system.slice/systemd-timesyncd.service

└─498 /lib/systemd/systemd-timesyncd

Jul 30 10:50:30 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab

Jul 30 10:50:31 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab

Jul 30 10:50:31 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab

Jul 30 10:50:32 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab

Jul 30 10:50:32 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab

Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab

Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab

Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab

Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab

Jul 30 10:51:06 ubuntuserver systemd-timesyncd[498]: Synchronized to time server [2001:67c:1560:800

如果此服务已启用并处于活动状态,则系统时钟应与Internet时间服务器同步。

您可以使用命令验证是否启用了时间同步:

$ timedatectl

如果仍然不起作用,请运行以下命令以启用时间同步:

$ sudo timedatectl set-ntp true

现在,您的系统时钟将与Internet时间服务器同步。

 

使用Timedatectl命令更改时区

如果我想使用UTC以外的其他时区怎么办?这很容易!参考在Ubuntu 18.04终端中修改时区的方法

首先,使用命令列出可用时区:

$ timedatectl list-timezones

您将看到类似于下图的输出:

在Ubuntu Linux 18.04系统上设置时间同步的方法

即在Linux中使用timedatectl命令列出时区,可参考用ntpq、ntpstat、timedatectl命令验证NTP设置同步是否正常工作一文。

您可以使用以下命令设置所需的时区(例如,亚洲/加尔各答):

$ sudo timedatectl set-timezone Asia/Kolkata

使用“date”命令再次检查时区是否已真正更改:

$ date

Tue Jul 30 17:52:33 IST 2019

或者,如果需要详细输出,请使用timedatectl命令:

$ timedatectl 

Local time: Tue 2019-07-30 17:52:35 IST

Universal time: Tue 2019-07-30 12:22:35 UTC

RTC time: Tue 2019-07-30 12:22:36

Time zone: Asia/Kolkata (IST, +0530)

System clock synchronized: yes

systemd-timesyncd.service active: yes

RTC in local TZ: no

正如您所注意到的,我已将时区从UTC更改为IST(印度标准时间)。

要切换回UTC时区,只需运行:

$ sudo timedatectl set-timezone UTC

 

使用Tzdata更改时区

在较旧的Ubuntu版本中,Timedatectl命令不可用,在这种情况下,您可以使用Tzdata(时区数据)来设置时间同步:

$ sudo dpkg-reconfigure tzdata

选择您居住的地理区域,就我而言,我选择了亚洲,选择确定,然后按ENTER键:

在Ubuntu Linux 18.04系统上设置时间同步的方法

接下来,选择与您的时区对应的城市或地区,在这里,我选择了Kolkata:

在Ubuntu Linux 18.04系统上设置时间同步的方法

最后,您将在终端中看到类似下面的输出:

Current default time zone: 'Asia/Kolkata'

Local time is now: Tue Jul 30 19:29:25 IST 2019.

Universal Time is now: Tue Jul 30 13:59:25 UTC 2019.

 

在图形模式下配置时区

有些用户可能对CLI方式不太满意,如果您是其中之一,则可以在图形模式下轻松更改系统设置面板中的所有操作。

点击超级键(Windows键),在Ubuntu短划线中输入设置,然后单击“设置(Settings)”图标:

在Ubuntu Linux 18.04系统上设置时间同步的方法

或者,单击位于Ubuntu桌面右上角的向下箭头,然后单击左上角的“设置(Settings)”图标:

在Ubuntu Linux 18.04系统上设置时间同步的方法

在下一个窗口中,选择“详细信息(Details)”,然后单击“日期和时间(Date / Time)”选项启用“自动日期和时间(Automatic Date / Time)”和“自动时区(Automatic Time Zone)”选项:

在Ubuntu Linux 18.04系统上设置时间同步的方法

至此,完成了上面的步骤操作,您的系统时钟现在应和Internet时间服务器同步了。

 

相关主题

Linux系统用命令行配置时区并同步系统时间

精选文章
热门文章