本文的内容包括:在Ubuntu 18.04上设置时间同步、使用Timedatectl/Tzdata更改时区、在图形模式下配置时区。您可能已设置在特定时间运行的cron作业,以备份重要文件或执行任何与系统相关的任务,或者,您可能已配置日志服务器以定期将系统日志从系统中移出,如果您的时钟不同步,这些作业将无法在所需的时间执行,这就是为什么在Linux系统上设置正确的时区并保持时钟与Internet同步的原因很重要,本文介绍如何在Ubuntu Linux上设置时间同步,下面给出的步骤已经在Ubuntu 18.04上进行了测试,但是对于使用systemd timesyncd服务的其他基于Ubuntu的系统是通用的。
在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”,如下面的屏幕截图所示:
注意:上面的截图是旧截图,这就是你看到不同日期的原因。 如果您看到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 您将看到类似于下图的输出:
即在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键:
接下来,选择与您的时区对应的城市或地区,在这里,我选择了Kolkata:
最后,您将在终端中看到类似下面的输出: 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桌面右上角的向下箭头,然后单击左上角的“设置(Settings)”图标:
在下一个窗口中,选择“详细信息(Details)”,然后单击“日期和时间(Date / Time)”选项启用“自动日期和时间(Automatic Date / Time)”和“自动时区(Automatic Time Zone)”选项:
至此,完成了上面的步骤操作,您的系统时钟现在应和Internet时间服务器同步了。
相关主题 |