Получение результата ntpdate для скриптинга - PullRequest
3 голосов
/ 17 февраля 2012

У меня есть два NTP-сервера с разными IP-адресами.

Я пытаюсь создать скрипт bash, который синхронизирует системные часы с клиентом "ntpdate". Если первый NTP-сервер не отвечает, мой сценарий должен попытаться подключиться ко второму NTP-серверу.

Я попытался создать системную переменную с именем RESULT следующим образом: РЕЗУЛЬТАТ = ntpdate 192.168.100.41

Синхронизация NTP работает, но когда я делаю "echo $ RESULT", его значение всегда равно 0. Итак, мой вопрос: Есть ли правильный способ сделать это? Как?

1 Ответ

2 голосов
/ 17 февраля 2012

Просто проверьте статус выполнения, сохраненный в $?:

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"
...