问题标签 [ntpd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ntp - NTP 层之间的错误是什么?
我读到 NTP 在 WAN 上同步机器的精度高达 100 毫秒(在以下链接中给出 - http://www.ntp.org/ntpfaq/NTP-s-algo.htm和https://en.wikipedia.org/wiki/ Network_Time_Protocol)。
每个 NTP 层的误差是否为 100 毫秒(或同步差异)?如果不是,那么 NTP 如何确保错误不会累积到较低层?
我知道我在这里的 NTP 协议中遗漏了一些东西,有人可以指出什么吗?它是否与根延迟和根分散有关,或者它们只是用于拒绝候选服务器?
ntp - ntpdate - 找不到适合同步的服务器
我正在研究ntp。我必须连接到一些外部 NTP 服务器才能更新我的系统日期。问题是 ntpd 守护进程总是使用我的本地时钟 (127.127.1.0),它没有使用我在 ntp.conf 中提供的 NTP 服务器。我使用 123.108.225.6 作为 NTP 服务器,我可以 ping 这个 IP。为了测试的目的,我执行了 ntpdate 但我得到了以下结果。
我觉得奇怪的是“原始时间戳”需要一些旧时间。这不是我的本地系统时间。
起始时间戳:00000000.00000000 1899 年 12 月 31 日星期日 18:00:00.000
ntp.conf
disable stats server 123.108.225.6 server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 10
漂移文件 /etc/ntp/漂移
我花了很多时间寻找解决方案,但我没有成功。请帮我 !!
c++ - NTPD 与 1PPS 信号同步
我有一个与我的 C++ 应用程序接口的 AHRS(姿态航向参考系统)。我通过以太网从 AHRS 接收到 50Hz 的消息流,作为该消息的一部分,我得到了 UTC 时间。我的系统还将运行 NTPD 作为我们嵌入式网络的时间服务器。AHRS 还有一个 1PPS 输出,指示 UTC 的第二个翻转时间。我想将 NTPD 时间与 UTC 同步。经过一番研究,我发现有些技术利用串行端口作为 1PPS 的输入。据我所知,这些技术使用 GPSD 读取 1PPS 并与 NTPD 通信以同步系统时间。但是,GPSD 期望来自 GPS 的 NMEA 格式的消息。我没有那个。
我现在看到的方式,我有几个可选的方法:
不要使用 GPSD。编写一个程序,读取 1PPS 和包含 UTC 的以太网消息,然后以某种方式将此信息传达给 NTPD。
使用 GPSD。编写一个程序,将以太网消息重新打包成可以发送到 GPSD 的东西,并让它处理与 NTPD 的交互。
还有什么?
任何建议将不胜感激。
编辑: 我为这个结构不佳的问题道歉。
我对这个问题的解决方案如下: 1 - 将 1PPS 接口连接到 RS232 端口,事实证明这是 GPSD 处理的标准方法。2 - 编写自定义 C++ 应用程序来读取包含 UTC 的以太网消息,并从中构建包含 UTC 的 NMEA 消息。3 - 将 NMEA 消息馈送到 GPSD,GPSD 进而与 NTPD 接口以将 GPS/1PPS 信息与系统时间同步。
python - ntpd 强制执行的 python 烧瓶服务器端口
我有一个由 python 和烧瓶实现的休息服务器。并实现一个api来重启ntpd
。
代码 test_flask.py:
然后我操作如下:
- 启动烧瓶服务器:python test_flask.py
- curl " http://localhost:5000/restart_ntpd。然后 ntpd 重新启动并返回 "success"
- 停止烧瓶服务器:只需使用 Ctrl+c 停止
- 再次启动烧瓶服务器,它会引发异常:
socket.error:[Errno 98] 地址已在使用中。
- 使用
sh $ netstat -ntlp | grep 5000
,端口被ntpd
我认为默认情况下ntpd
将使用端口 123。在我的场景中,为什么端口 5000被强制执行ntpd
?是烧瓶的问题吗?
linux - Linux-NTP Leap Seconds:减少应用闰文件的时间
有什么方法可以让 NTP 处理并比现在更快地应用闰秒文件?
我正在编写一个依赖于 CLOCK_TAI 的应用程序。如果未设置 tai_offset,则允许应用程序执行将是错误的。
使用 Ubuntu 14.04,我安装了闰秒文件 ( http://www.ietf.org/timezones/data/leap-seconds.list ) 并配置了 ntp (4.2.6p5) 以使用它。
使用将 CLOCK_TAI 与 CLOCK_REALTIME 进行比较的测试程序,我发现在使用新配置重新启动 ntp 后更改 tai_offset 需要超过 4 分钟。
我想大大减少这个时间。
ntpd - ntpdate 的正确替代方法是什么,需要以下功能?
由于ntpdate
已被弃用,ntpd -gq
在大多数情况下用于相同的目的。使用ntpdate
, 会收到错误
找不到适合同步的服务器
如果提供了错误的主机名/IP,则退出。
是否还没有此功能ntpd
?即,ntpd -gq
如果它没有从(无效/未运行的ntp)服务器得到任何响应,则退出。
synchronization - Gpsd 时间错误
大家好!
我有这个问题:
我正在使用我工作的公司的旧 GPS-Sirf/NMEA 模块为 GPSD 服务 ntp(现在在我的笔记本电脑上)。
让我们忘记 Ntpd .. 一旦我启动 gpsd,虽然日期和时间在gpsmon中是正确的,但如果我运行ntpshmmon ,我在标记为“真实”的列中有一个负时间(大约 -69 年以秒计),我假设是我的 SHM 的时钟信息(而“时钟”列实际上是接收到的信息)
如果我更换模块并使用 U-blox 一切正常,SHM 时钟恢复为 +46 年。有没有办法管理 GPS 与 NTP 的信息交换?或者在不确切知道 GPS 模块是什么的情况下配置 GPS?
对不起,如果我的问题是某种空中仙女......我希望有人遇到我同样的问题并且可以发现线索......
谢谢!:)
佛罗里达州
linux - 如何做增量时间跳跃以避免数据丢失
背景: 嗨,我目前正在使用旧的 Linux SBC 系统。它使用旧的 BusyBox v1.00-rc2,它的功能有限。(不,升级不是一种选择)。这个 SBC 连接了几个传感器,记录值并加盖时间戳。
问题: 几年后,RTC 偏离实际时间,一些 SBC 与实际时间延迟超过 1 小时(更慢)。
我不能简单地对 ntp 服务器进行 ntpdate,因为它会导致时间跳跃并在数据监控日志上造成巨大的差距。这是不可接受的。
解决方案: 我创建了一个 bash 脚本,它将:
- 使用 SBC 和 ntp 服务器检查 ntp 偏移量
- 然后,将偏移量记录在变量中
- 如果偏移值大于 7,例如(60 秒偏移),脚本将使用date -s命令一点一点地增加系统时钟。
- 它只会以每小时最多 60 秒的速度增加
- 例子 :
- SBC时间为2016年4月4日14:59:00
- 来自 ntp 服务器的实际时间是 2016 年 4 月 4 日 15:00:00
- 如果我使用 ntpdate -q -4 utcnist2.colorado.edu它将返回60 秒的偏移量
- 所以,我的脚本每 450 秒只会增加7 秒
- 按照这个逻辑,SBC 时间将在2016 年 4 月 4 日 16:04:17左右赶上 ntp 时间
- 问题是,这个脚本会一步一步慢慢调整时间,但有时会出问题,SBC时间会比实际时间(Ntp时间)更快,这会导致数据丢失(服务器不会如果 SBC 时间快于服务器时间,则接受)。
问题 :
- 有没有其他方法可以进行与此类似的增量时间跳跃?
- 我注意到 ntpdate 有 -B 函数可以进行增量时间更新,但我没有在 SBC 上使用它。使用此开关的正确方法是什么?还是我误解了它的功能?
- adjtimex 能达到这个目的吗?
- 这是我完整的 bash 脚本,如果你们有需要的话(太长,无法粘贴到这里),
http://pasted.co/65beb3db [密码:123456]
linux - 同步 android 应用程序和服务器之间的时间
我使用带有蓝牙加密狗的树莓派来模拟信标。当我在树莓中更改信标时,我想测量移动应用程序检测信标的 UUID 所需的时间。通过这段代码,我找到了智能手机用来同步磁贴的服务器
比我同步树莓派中的时间
在我更改信标的 ID 之前,我会打印时间
然后我比较了我更改 UUID 的时间和第一次看到 UUID 时 logcat 中的时间,结果总是负 UUID 在 15:33:03,276 更改并在 15:33:02.301 检测到。
这是同步问题吗?有一个更好的方法吗?
embedded-linux - 本地时间更新的系统日志条目
ntpd 守护程序在更新本地(客户端)时间 wrt 服务器时必须有一个 syslog 条目。
Grepping 在我的 beagonebone 系统日志中,我在 ntpd 下面找到了与服务器相关的条目:
ntpd 更新本地时间时日志的任何线索以及日志的外观?
注意:没有兴趣查询喜欢ntpq -p
或ntpstat
。