Ubuntu 服务器的当前日期和时间与时区日期和时间不同。我尝试使用:
sudo date "30 Sep 2015 4:43:42"
去改变它但它并没有改变日期和时间,只是在终端上打印了我改变的日期和时间,但是当我执行时:
sudo hwclock --show
日期和时间仍是旧的。
更改 Ubuntu Server 日期和时间的正确方法是什么?
答案1
您可以设置系统日期使用以下命令:
sudo date --set="2015-09-30 10:05:59.990"
然后使用时date
,它应该可以正确显示。
现在你还应该设置硬件时钟在系统的 BIOS 中,该设置在重启后仍然有效(启动期间,系统时间设置为硬件时钟的值)。使用以下命令执行此操作hwclock
:
sudo hwclock --systohc
这将获取系统时钟 (sys) 值并设置硬件时钟 (hc)。使用命令检查hwclock
。hwclock
和date
现在应该显示相同的日期和时间。
要设置您的时区,你可以使用此命令:
sudo dpkg-reconfigure tzdata
顺便提一句:如果你使用这台机器作为服务器,我强烈建议使用 NTP 客户端来通过网络同步时间。这样您就可以保证所有服务器都设置了完全相同的时间。这将在机器运行时同步时间。如果您的应用程序依赖于服务器上的同步时间,我建议使用 NTP-Daemon。它在后台运行的时间越长,时间就越精确。
答案2
- 搜索您的时区
timedatectl list-timezones
- 设置时区
sudo timedatectl set-timezone America/Toronto
- 使能够
timesyncd
sudo timedatectl set-ntp on
这样,时间就应该设置并同步。
您可以在本教程中了解更多信息:https://www.digitalocean.com/community/tutorials/how-to-set-up-time-synchronization-on-ubuntu-18-04
答案3
我不喜欢手动设置系统时间。因此,为了解决这个问题,我不得不结合两个不同的答案。
要修复系统时间,您必须使用此代码:
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
正如本文所述回答
然后使用以下命令将硬件时钟与系统时钟同步
sudo hwclock --systohc
正如本线程中@chaos 所给出的。
答案4
我在 Amazon AWS 上使用基于 Ubuntu 的服务器。所有 SUDO DATE 答案对我来说都不起作用。SUDO DATE 返回新日期作为输出,但后续 DATE 调用仍显示旧日期。此外,HWCLOCK 什么也没做,只是返回了一个错误。
我的答案是:
sudo timedatectl set-ntp false
sudo timedatectl set-time "date-time-string"