【问题标题】:Getting ntpdate result for scripting获取脚本的 ntpdate 结果
【发布时间】:2012-02-17 10:10:48
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: linux bash ntp


    【解决方案1】:

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

    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"
    

    【讨论】:

    • 或者,更简洁地说,ntpdate server1 || ntpdate server2ntpdate 本身不能回退到不同的服务器吗?只需将其配置为使用您的两台服务器。
    猜你喜欢
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    • 2019-04-26
    • 2021-09-15
    • 1970-01-01
    相关资源
    最近更新 更多