我们有配置chrony.conf
脚本检查 ping 是否正常ntp1
和ntp2
(ntp 服务器)
然后脚本将 ntp 服务器插入到/etc/chrony.conf
(仅当 ping 成功时)
来自 bash 脚本的示例:
ping -c 1 ntp1
if [[ $? -eq 0 ]];then
echo "server ntp1 iburst" >> /etc/chrony.conf
else
echo "sorry so much but no ping to ntp1 server , /etc/chrony.conf will not configured "
exit 1
fi
ping -c 1 ntp2
if [[ $? -eq 0 ]];then
echo "server ntp2 iburst" >> /etc/chrony.conf
else
echo "sorry so much but no ping to ntp2 server , /etc/chrony.conf will not configured "
exit 1
fi
问题是有时用户决定禁用ping
或icmp
那么在那种情况下,我们检查 ping 的场景是不相关的,我们不能将这些行添加到/etc/chrony.conf
所以我们想知道如何测试和服务器以添加ntp1ntp1
和chrony配置ntp2
ntp2
例如,如果ntp1
似乎ntp2
不是作为 ntp 服务器,那么我们不会将它们添加到 chrony 配置中
使用工具检查 NTP 服务器
ntpdate
。像这样的东西:
OP=$(ntpdate -q ntp1)
如果 OP 包含正确的日期数据,则 ntp1 正在工作。否则尝试ntp2。
参考:https
://www.tunnelsup.com/how-to-test-an-ntp-server-using-ntpdate/ 输出:
关于您的脚本的快速评论:
当 ntp1 没有响应时,您应该记录它但不要退出,而是应该继续使用 ntp2。
只有当两者都没有响应时,您可能不想继续。