获取脚本的ntpdate结果

时间:2012-02-17 10:10:48

标签: linux bash ntp

我有两台具有不同IP的NTP服务器。

我正在尝试制作一个bash脚本,将系统时钟与“ntpdate”客户端同步。 如果第一个NTP服务器没有响应,我的脚本应该尝试连接到第二个NTP服务器。

我尝试以这种方式创建一个名为RESULT的系统变量: 结果= ntpdate 192.168.100.41

NTP同步有效,但当我创建“echo $ RESULT”时,其值始终为0。 所以我的问题是: 有没有正确的方法来做到这一点?怎么样?

1 个答案:

答案 0 :(得分:2)

只需检查$?中存储的执行状态:

ntpdate foo.com
17 Feb 12:35:13 ntpdate[16218]: no server suitable for synchronization found
echo $?
1

ntpdate 1.europe.pool.ntp.org
17 Feb 12:36:26 ntpdate[16220]: step time server 109.230.243.8 offset 27.014301 sec
echo $?
0

或者,如果您使用的是Debian,请使用 ntpdate-debian 并在 / etc / default / ntpdate 中指定服务器列表,例如:

NTPSERVERS="0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org"