如何通过命令行更改ubuntu的服务器日期和时间?


40

Ubuntu服务器的当前日期和时间与时区的日期和时间不同。我试过使用:

sudo date "30 Sep 2015 4:43:42"

更改它,但它没有更改日期和时间,只是在终端上打印了我更改的日期和时间,但是在执行时:

sudo hwclock --show

日期和时间仍然是旧的。

更改Ubuntu Server日期和时间的正确方法是什么?


您真的输入了“ sudo date newdate”-这个单词“ newdate”吗?
Wolfgang

1
不。我已经编辑了我的问题。我输入了“ 2015年9月30日4:43:42”
Priska Aprilia

Answers:


68

您可以使用以下命令设置系统日期

sudo date --set="2015-09-30 10:05:59.990"

然后在使用时date,应正确显示。

现在,您还应该在系统的BIOS中设置硬件时钟,该设置将在重新引导后保持不变(在启动过程中,系统时间设置为硬件时钟的值)。用hwclock

sudo hwclock --systohc

这将获取系统时钟(sys)值并设置硬件时钟(hc)。使用hwclock命令检查它。无论hwclockdate现在应该显示相同的日期和时间。


要设置时区,可以使用以下命令:

sudo dpkg-reconfigure tzdata

顺便说一句:如果您将本机用作服务器,我强烈建议您使用NTP客户端通过网络同步时间。因此,您可以保证所有服务器都具有完全相同的时间设置。这将在机器运行时同步时间。如果您有依赖于服务器上同步时间的应用程序,则建议使用NTP-Daemon。它在后台运行的时间越长,时间越精确。


1
我错过了时钟同步步骤。谢谢您的回答,对我有帮助!
Priska Aprilia 2015年

1
3个选项有帮助,它更改了etc / timezone =),如php.net/manual/en/timezones.php!!!完全相同!
弗拉基米尔Ch

@VladimirCh Fortunatelly时区名称已稳定,因此我们不必在系统之间进行任何调整。哦,等等...还有一些Microsoft版本...
PeterM

1
我尝试更改,但未更改:-$ sudo date --set =“ 2015-09-30 10:05:59.990” Wed Sep 30 10:05:59 +0530 2015 $ date Thu May 23 15:10:37 +0530 2019
维诺德


4

我不喜欢手动设置系统时间。因此,要解决此问题,我必须结合两个不同的答案。
要修复系统时间,您必须使用以下代码:

sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"

如在此答案中给出的,
然后使用

sudo hwclock --systohc

如@chaos在此线程中给出的。


1

只需输入

sudo date newdatestring

newdatestring格式nnddhhmmyyyy.ss

  • nn :(两位数)月份(01到12)
  • dd :(两位数)日期(01到31),其中以根据月份和年份的天数为规则
  • hh :(两位数)小时(00到23)
  • mm :(两位数)分钟(00到59)
  • yyyy:年;它可以是两位数或四位数
  • ss是两位数秒(00至59)。注意句号“。” 在SS之前。

但是在date命令旁边,也许您更喜欢NTP“解决方案”(网络时间协议):Serverguide-NTP,比手动设置日期更容易操作和更精确。您可以使用cronjob或ntp守护程序(ntpd)每x小时/分钟更新一次时间...

希望这可以帮助!


当我尝试使用“ 093005082015.15”表示日期范围无效时,该日期范围代表2015年9月30日,05:08
Priska Aprilia

sudo date "093005082015.15" 在我的上工作。
vusan

0

对于那些寻找时代秒针的人

  1. 设置当前日期和时间

    sudo date -s @1565864862
  2. 获取当前日期和时间

    date +%s
    

    输出 1565864862

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.