假设有一台 CMOS 电池没电且互联网连接不可靠的 PC。
据我了解,两者chrony
都ntpd
试图纠正巨大的时间差异(年)一次– 启动时, – 但随后在正常系统运行期间切换到回转,如果所需的时间校正超过 1000 秒,则会出现紧急情况并跳出。有时,互联网连接在启动时不存在,但稍后会出现;但我的系统永远停留在过去。
现在我通过手动调用来解决这个问题
chronyc burst 4/4
在 OpenSuSE (chrony) 上或
service ntp stop
ntpd -gq
service ntp start
在 antiX (ntpd) 上。
我想知道是否有某种方法可以将其附加到某个钩子上,只要互联网出现,该钩子就会触发一次。
答案1
因此,您已经知道如何步进 NTP 守护进程,但只需要挂钩命令的位置。
SuSE 似乎默认使用 NetworkManager,因此/etc/NetworkManager/dispatcher.d/
每当网络配置发生更改时脚本都会运行......并且应该已经有一个/etc/NetworkManager/dispatcher.d/20-chrony
可以用作示例。有关更多详细信息,请参阅man NetworkManager-dispatcher
。
AntiX 是 Debian 的衍生产品。它似乎connman
默认使用,不幸的是它似乎没有提供一种简单的方法来将自定义脚本添加到网络可用/不可用事件。然而,它似乎提供了一个connman-wait-online.service
与 相关联的network-online.target
。如果您确保您的常规ntpd
服务启动配置为仅在network-online.target
达到 systemd 目标后才发生,并且它允许ntpd
首次启动,我认为这可能会满足您的要求。