我有一个树莓派。它没有 RTC。
当它断电时,它不知道它已经关闭了多长时间,直到它通过 NTP 检查当前时间。
我在上面安装了 ntpd,并将其作为 systemd 服务运行。效果很好。
我在 Pi 上运行的软件可以执行非必要的、基于时间的操作。这意味着如果当前系统时间准确,它可以执行该任务,但如果当前系统时间可能准确或不准确,它可以(并且应该)跳过该任务。
从概念上讲,了解系统时钟是否准确的方法似乎很简单 - 如果系统自启动以来已成功使用 ntpd 更新其时间,则时钟是准确的。否则,假设时钟不准确。
是否有可能以某种方式让 ntpd 告诉我它是否已成功连接到互联网、检索当前时间并自上次启动以来更新系统时钟?如果可以避免的话,我宁愿不让我的软件尝试解析 ntpd 的日志。
答案1
要查看 NTPD 是否起作用 - 不能为 ntpd 启用日志记录吗?
配置ntpd日志文件和可能需要对 RaspPI 进行特定更改
然后运行ntpstat
(或 Debian 上的任何等效项)或查看日志以了解它在做什么?
# ntpstat
synchronised to unspecified at stratum 6
time correct to within 465816ms
polling server every 1024 s