问题描述
Ubuntu服务器的当前日期和时间与时区的日期和时间不同。我尝试使用:
sudo date "30 Sep 2015 4:43:42"
更改它,但它没有更改日期和时间,只是在终端上打印了我更改的日期和时间,但是在执行时:
sudo hwclock --show
日期和时间仍然是旧的。
更改Ubuntu Server日期和时间的正确方法是什么?
最佳回答
您可以使用以下命令设置系统日期:
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-Client通过网络同步时间。因此,您可以保证所有服务器都具有完全相同的时间设置。这将在机器运行时同步时间。如果您的应用程序依赖于服务器上的同步时间,则建议使用NTP-Daemon。它在后台运行的时间越长,时间越精确。
次佳回答
-
搜索您的时区
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
第三种回答
我不喜欢手动设置系统时间。因此,要解决此问题,我必须结合两个不同的答案。要修复系统时间,您必须使用以下代码:
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
如本answer中所述,然后使用
sudo hwclock --systohc
如@chaos在此线程中给出的。