Pri*_*lia 56 server command-line time date
Ubuntu 服务器的当前日期和时间与时区日期和时间不同。我试过使用:
sudo date "30 Sep 2015 4:43:42"
Run Code Online (Sandbox Code Playgroud)
更改它但它没有更改日期和时间,只是在终端上打印了我更改的日期和时间,但是当我执行时:
sudo hwclock --show
Run Code Online (Sandbox Code Playgroud)
日期和时间仍然是旧的。
更改 Ubuntu Server 的日期和时间的正确方法是什么?
cha*_*aos 86
您可以使用以下命令设置系统日期:
sudo date --set="2015-09-30 10:05:59.990"
Run Code Online (Sandbox Code Playgroud)
那么在使用的时候date
,应该是正确显示的。
现在您还应该在系统的 BIOS 中设置硬件时钟,该设置在重新启动后仍然存在(在启动期间,系统时间设置为硬件时钟的值)。这样做hwclock
:
sudo hwclock --systohc
Run Code Online (Sandbox Code Playgroud)
这将获取系统时钟 (sys) 值并设置硬件时钟 (hc)。用hwclock
命令检查它。无论hwclock
和date
现在应该显示相同的日期和时间。
要设置您的时区,您可以使用以下命令:
sudo dpkg-reconfigure tzdata
Run Code Online (Sandbox Code Playgroud)
顺便说一句:如果您使用这台机器作为服务器,我强烈建议您使用 NTP-Client通过网络同步时间。因此,您可以保证所有服务器的时间设置完全相同。这将在机器运行时同步时间。如果您的应用程序依赖于服务器上的同步时间,我推荐使用 NTP-Daemon。它在后台运行的时间越长,时间就越精确。
Nat*_*ram 32
timedatectl list-timezones
Run Code Online (Sandbox Code Playgroud)
sudo timedatectl set-timezone America/Toronto
Run Code Online (Sandbox Code Playgroud)
timesyncd
sudo timedatectl set-timezone America/Toronto
Run Code Online (Sandbox Code Playgroud)
有了这个,时间应该被设置和同步。
您可以在本教程中查看更多信息:https : //www.digitalocean.com/community/tutorials/how-to-set-up-time-synchronization-on-ubuntu-18-04
小智 7
我不喜欢手动设置系统时间。所以为了解决这个问题,我不得不结合两个不同的答案。
要修复系统时间,您必须使用以下代码:
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
Run Code Online (Sandbox Code Playgroud)
如this answer中给出的
然后您使用系统时钟同步硬件时钟
sudo hwclock --systohc
Run Code Online (Sandbox Code Playgroud)
正如@chaos 在此线程中给出的那样。