【发布时间】:2020-12-17 13:52:43
【问题描述】:
我在 Linux 系统 (Ubuntu Server) 上有一个应用程序,它需要知道当前系统时钟是否已同步到 NTP 服务器。虽然我可以检查timedatectl 的System clock synchronized: yes 输出,但这似乎很脆弱,特别是因为timedatectl 的人类可读输出将来可能会发生变化。
不过,systemd 似乎充满了 DBus 接口,所以我怀疑可能有办法检查那里。不管怎样,我正在寻找bool is_ntp_synchronized()。
有什么方法可以简单地检查系统时钟是否同步而无需启动另一个进程?
【问题讨论】:
-
注意:您想知道NTP是否同步时间,或者计算机是否将时间同步到服务器? [对于第一个:您可以使用连接到 NTP 守护程序的硬件(例如 GPS 时钟)。第二个,过去我们有
ntpdate,定期调用,但没有运行ntp守护进程]。