从互联网更新时间和日期的命令是什么


132

从Internet更新时间和日期的命令是什么?是否有任何应用程序允许我从其用户界面而不是从外壳程序执行此操作?


您能确定您使用的是哪个Ubuntu版本吗?
david6 2011年

1
您需要非常准确的时间吗?(如果是这样,则需要熟悉ntpq并选择时间服务器)。如果您只是想让时间正确(大约),请尝试:系统设置>>时间和日期,并检查“ 设置时间 ”是否设置为“ 自动从Internet ”。
david6

如果您要一直非常准确,请安装ntpd。这是一个小程序,在后台运行,并且会不断调整时间,而不是突发/跳跃,但是会占用您的一些资源。
13年


1
如今,这个问题至关重要。最近,它变得非常棘手:某些PC使用chrony或ntpd,他们总是找到不更新时间的原因(时钟太错误,赢得了与双重引导相关的问题,ntp可能还会拒绝信任没有时钟源的时钟源互联网)。而且,如果您的PC可以上网,但时钟错误,因为现在浏览器和网站会强制您使用HTTPS,由于您的时钟错误,它将被阻止,甚至您也无法用Google来解决它!如果有一个可以解决所有情况的答案,那将是很好的。“手动设置时钟”是目前最可靠的时钟
bct

Answers:


144

您可以使用例如sudo ntpdate time.nist.gov。其他服务器包括time.windows.com,等等。

http://www.pool.ntp.org/列出了世界各地的时间服务器。


5
我遇到错误the NTP socket is in use, exiting
Friederbluemle 2014年

7
@friederbluemle如在此答案中所述,您必须停止ntp服务sudo service ntp stop。然后,您可以使用答案中建议的命令,最后可以使用sudo service ntp start
Michele

此方法有效,但不会自动更新任务栏中的时钟。
posfan12

4
我收到“ ntpdate [15806]:找不到适合同步的服务器”错误。以下使用google.com的第二个答案效果更好
Kim Stacks'5

7
ntpdate:找不到命令
rogerdpack

133

这是一个不错的小代码,如果您遇到以下问题,我会更新您的时间ntp

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

不错的解决方案!
Farid Rn

很好,为我工作。
Janderson Silva

8
这应该是公认的答案!
brijs

这个片段进入了我的武器库!;)
Dave Amit

2
这样做很好,但是通常会延迟8到50毫秒,因为它本身并不同步。
诺妮·穆斯

48

截至2018年,全新安装的Ubuntu 16.04 LTS运行时sudo ntpdate time.nist.gov提供:

sudo: ntpdate: command not found

这是因为(官方资料):

ntpdate被认为不赞成使用,timedatectl因此默认情况下不再安装。

而是这样做以强制立即进行同步:

sudo timedatectl set-ntp off
sudo timedatectl set-ntp on

在我的情况下,我在virtualbox上运行Ubuntu,并保存了机器状态,因此当我再次启动实例备份时,由于没有启动事件来触发同步,因此它不会自动同步时钟。所以时间仍在显示我上次运行虚拟盒子的时间。


我刚刚升级到仿生,并注意到ntpdate不再工作,并且timedatectl为我工作。
kapad

1
它在Ubuntu 18.04上也对我有用。
kiamlaluno

如果时间没有改变,请使用来检查您的时区timedatectl。如果不正确,请参阅--help命令部分,了解如何进行更改。
布拉德·图瑞克

1
虚拟盒子不错。节省了很多调试的麻烦!
Mohd Abdul Mujib '18

14

在终端中运行此命令应该可以解决问题

sudo dpkg-reconfigure tzdata

我认为,可以通过单击时钟并查看其选项来以图形方式添加额外的时区。


时区与(准确)时间并不完全相同。但是,也不清楚Vikramjeet在问什么。
david6 2011年

问题是从Internet更新时间和日期的命令是什么,sudo dpkg-reconfigure tzdata是答案,那么有什么用呢?关于时区的评论与我所知唯一可以图形化的内容有关
Jayo

我以图形表示,它们意味着图形(或“ GUI”)方法,而不是地理(或全球)方法。
david6

也是吗,我不知道有一种方法可以通过网络以图形方式更新日期和时间,所以我使用终端,我确实知道如何以图形方式进行设置时区,关于时区的部分是我的两个据我所知,我现在可以理解以图形方式影响时间的方法吗?
Jayo

12

从命令行设置非常容易:https : //help.ubuntu.com/lts/serverguide/NTP.html通过该链接:

Ubuntu随附ntpdate作为标准配置,并将在启动时运行一次,以根据Ubuntu的NTP服务器设置您的时间: ntpdate -s ntp.ubuntu.com

这是GUI示例https://help.ubuntu.com/community/UbuntuTime#Time_Synchronization_using_NTP


6
请不要使用指向其他站点的链接。当它们消失时,您发布的信息也会消失。通过回答链接的内容来防止“链接腐烂”的发生(并在应归功的情况下给予功劳)。
Rinzwind

4

由于ntp会在几秒钟之内覆盖您的设置,因此大多数设置都不起作用。

您需要先禁用NTP。在ubuntu上,操作如下:

    # Disable ntp
    sudo timedatectl set-ntp 0

然后,您可以执行以下操作:

    # Set software clock 
    sudo date --set="2018-04-01 22:22:22"
    # Sync with hardware clock 
    sudo hwclock --systohc

3
dateFromServer=$(curl -v --silent https://google.com/ 2>&1 \
   | grep Date | sed -e 's/< Date: //'); date +"%d%m%Y%H%M%S" -d "$dateFromServer"

要么

date -s `curl -I 'https://startpage.com/' 2>/dev/null | grep -i '^date:' | sed 's/^[Dd]ate: //g'`

1
通过ntp与时间服务器连接来设置日期和时间的标准方法。为什么要使用https连接来执行此操作?
xiota

1
//,我想有时候可以替代标准方法会很好。
弥敦道(Nathan Basanese)

2
我的ISP阻止了我的NTP服务器
泰勒

1

您需要安装该ntp软件包。日期/时间设置在系统设置下可用。是更多信息。


2
该链接已失效...正如Rinzwind所说:“请不要使用指向其他网站的链接。当它们消失时,您发布的信息也将消失。通过回答链接的内容,防止'link rot'发生(并给予信贷)应归功于此)。” 谢谢
米歇尔2014年

1

是否有任何应用程序允许我从其用户界面而不是从外壳程序执行此操作?

我使用的是17.10,可以转到“设置”(从UI的右上菜单)>“详细信息”>“日期和时间”。就我而言,即使将“自动日期和时间”设置为“开”,我的系统也无法从Internet更新。我只是将其更改为“ OFF”,稍等片刻,然后将其更改为“ ON”。它收集了当前的日期和时间,我很高兴离开。


0

感谢Twiglets [对于AsusWRT / Merlin路由器]

这是确定日期的另一种选择!!![-s选项]。打印出它检索的“日期”和设置用于比较的“日期”。

在AsusWRT / Merlin上,唯一奇怪的是检索到的日期是“ .... GMT”,而date实用程序设置了正确的时间,但将其更改为“ ... DST”。环境已将TZ设置为“ GMT”

datetext=$(curl -I 'https://1.1.1.1/' 2>/dev/null | grep "Date:" |sed 's/Date: [A-Z][a-z][a-z], //g'| sed 's/\r//') ; echo "Date Retrieved = $datetext" ; echo -n "Date set = " ; date -s "$datetext" -D'%d %b %Y %T %Z'
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.