我有两台机器
它们都连接到一个本地网络,我想将机器A的日期和时间设置为与机器B的日期和时间相匹配。
对于类似的问题,我将使用这答案中提供的解决方案。
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"然而,这只有在我有互联网连接的情况下才能起作用。
在不使用互联网的情况下,同步两个Ubuntu操作系统的时间和日期的命令是什么?
候选人1感谢“Joe”的输入。如何在机器B上设置一个get服务器,从机器A查询它,并从响应中获取时间和日期?它看起来很清晰..。有更简单的解决办法吗?
候选人2,这要感谢@马提戈。在本地网络上设置NTP服务器。检查NTP文档以实现此解决方案
发布于 2023-04-26 20:33:00
好吧,谢谢你们提供的宝贵信息。经过一些研究和测试,这里是我正在使用的解决方案。
如规范所述,这里
自从Ubuntu16.04以来,timedatectl/timesyncd (它们是systemd的一部分)取代了大部分ntpdate/ntp。... ntpdate现在被认为是过时的,支持timedatectl (或chrony),并且在默认情况下不再安装。timesyncd通常会做正确的事情,保持时间同步,而时间同步将有助于处理更复杂的情况。
所以我试了一下。我还检查了:
长话短说..。
sudo apt update && sudo apt upgrade
sudo apt install chrony
sudo vim /etc/chrony/chrony.conf配置NTP服务器,确保添加local stratum 10并允许192.168.0.0/24强制服务器正常工作,即使该服务器与internet断开连接,并且允许此网络上的客户端连接到我们的时间同步服务器。
confdir /etc/chrony/conf.d
pool ntp.ubuntu.com iburst maxsources 4
pool 0.ubuntu.pool.ntp.org iburst maxsources 1
pool 1.ubuntu.pool.ntp.org iburst maxsources 1
pool 2.ubuntu.pool.ntp.org iburst maxsources 2
allow 192.168.0.0/24
sourcedir /run/chrony-dhcp
sourcedir /etc/chrony/sources.d
keyfile /etc/chrony/chrony.keys
driftfile /var/lib/chrony/chrony.drift
ntsdumpdir /var/lib/chrony
logdir /var/log/chrony
maxupdateskew 100.0
rtcsync
makestep 1 3
leapsectz right/UTC重新启动时间同步服务,检查正在运行的服务并启用它在启动时启动。
sudo systemctl restart chrony
sudo systemctl status chrony
CTRL+C
sudo systemctl enable chrony将日期和时间与服务器池同步,并设置192.168.0.1或以任何IP作为首选服务器。
sudo apt update && sudo apt upgrade
sudo apt install chrony
sudo vim /etc/chrony/chrony.conf将本地NTP服务器添加到池中。
pool 192.168.0.1 iburst prefer
keyfile /etc/chrony/chrony.keys
driftfile /var/lib/chrony/chrony.drift
logdir /var/log/chrony
log measurements statistics tracking
maxupdateskew 100.0
rtcsync
makestep 1.0 3重新启动,检查服务并在启动时启用它
sudo systemctl restart chrony
sudo systemctl status chrony
CTRL+C
sudo systemctl enable chrony最后,检查它是否从正确的源获取更新。
chronyc tracking
chronyc sources摇滚乐,继续推!
我将进行一个简短的测试,并将更新这篇文章与任何我遇到的问题。
发布于 2023-04-25 13:28:17
如果有internet连接,则可以输入在wget命令中给定的date命令,并确保它生成如下所示的时间字符串:
25 Apr 2023 13:20:23Z这样做的方法是从HTTP头中获取日期,去掉单词" date :",并在末尾加一个Z。因此,您可以使用以下格式手动设置时间:
sudo date -s "25 Apr 2023 13:20:23Z" 您可能需要在您的地区中将"Apr“翻译成一个缩写的月份名称。
发布于 2023-04-25 19:39:10
https://askubuntu.com/questions/1465204
复制相似问题