不同步时禁用 chrony NTP 服务器
Disable chrony NTP server when unsync
我有一个 OpenWRT 路由器 运行ning chrony (chronyd)。硬件没有RTC,所以断电后,系统时钟变得疯狂。
我想要一个 LAN NTP 服务器,但如果由于某种原因没有互联网连接并且由于断电导致时钟错误,则 NTP 服务器将错误的时间传递给客户端。考虑一下我正在使用 'cheap' NTP 客户端 (Android/Arduino/other routers/cameras),它们无法防止大时钟摆动。
我想在重启时禁用 chrony NTP 服务器并等待第一次同步以启用它。我以为这是一个常见的设置,但找不到任何地方。
我也尝试过 ntpd,我愿意接受替代品(但它必须 运行 在 OpenWRT 上)。
注意:我已经在尝试使用 USB GPS 作为更可靠的时钟源,即使没有互联网连接也是如此。
目前我的解决方案:
在 chrony.conf 上,设置为在启动时禁用。
deny all
然后,我创建了一个脚本来每分钟检查一次时钟是否同步(使用 chronyc),然后再次启用它。
until ! chronyc tracking | grep "Reference ID" | grep -q "()"
do sleep 60
done
chronyc allow all
最后,设置为 运行 启动脚本。
似乎只有 chrony(不是 ntpd)才有可能,因为它有一个客户端可以即时更改设置。
我有一个 OpenWRT 路由器 运行ning chrony (chronyd)。硬件没有RTC,所以断电后,系统时钟变得疯狂。
我想要一个 LAN NTP 服务器,但如果由于某种原因没有互联网连接并且由于断电导致时钟错误,则 NTP 服务器将错误的时间传递给客户端。考虑一下我正在使用 'cheap' NTP 客户端 (Android/Arduino/other routers/cameras),它们无法防止大时钟摆动。
我想在重启时禁用 chrony NTP 服务器并等待第一次同步以启用它。我以为这是一个常见的设置,但找不到任何地方。
我也尝试过 ntpd,我愿意接受替代品(但它必须 运行 在 OpenWRT 上)。
注意:我已经在尝试使用 USB GPS 作为更可靠的时钟源,即使没有互联网连接也是如此。
目前我的解决方案:
在 chrony.conf 上,设置为在启动时禁用。
deny all
然后,我创建了一个脚本来每分钟检查一次时钟是否同步(使用 chronyc),然后再次启用它。
until ! chronyc tracking | grep "Reference ID" | grep -q "()"
do sleep 60
done
chronyc allow all
最后,设置为 运行 启动脚本。
似乎只有 chrony(不是 ntpd)才有可能,因为它有一个客户端可以即时更改设置。