小编jfr*_*d00的帖子

如何在系统启动期间知道系统时间何时从 NTP 变为正确

我有一个运行 Raspbian(Debian 衍生产品)的 Raspberry Pi,它可以记录实时温度。作为其中的一部分,我需要一个精确到几秒钟的时钟。在服务器启动时的正常操作中,我知道 Raspberry Pi 会定期通过网络连接到 NTP 服务器,以确保其本地时钟合理地接近正确的时间。这种精度水平适合我的应用程序。Raspberry Pi 没有电池供电的时钟来在服务器关闭或断电时保持时间,因此当它第一次启动时,系统时间不正确,直到它建立互联网连接并通过 NTP 获取正确时间。

我发现一个问题是当停电并且 Raspberry Pi 在没有电源的情况下关闭一段时间,然后在某个时间后(比如 30 分钟)恢复供电。Pi 启动,我的应用程序启动并再次开始记录温度,但 Pi 上的时钟不正确,因此它以错误的时间戳记录温度。它似乎以某种方式保存了最后一个已知时间并从那里恢复(重新启动时它不会重置为纪元时间)。最终,当 Pi 所在的 LAN 恢复并重新获得互联网连接时,Pi 将更正其时间(通过 NTP),但在此之前,我记录了不准确的时间戳。

我想弄清楚解决这个问题的最佳行动方案是什么?

出于维护原因,我宁愿不添加电池支持的附加时钟(不希望任何人必须更换电池,因为这本质上是嵌入式设备,用户不易访问)。

我愿意让我的应用程序推迟记录温度,直到我知道从网络中准确检索了时间,但我什至不知道如何检测该状态。任何人都知道如何知道现在何时从 NTP 服务器更新时间并且现在是正确的?

我的应用程序是通过在启动时运行脚本来启动的。

关于如何解决这个问题的任何其他想法?

startup ntpd clock raspbian

5
推荐指数
1
解决办法
6321
查看次数

标签 统计

clock ×1

ntpd ×1

raspbian ×1

startup ×1