Страницы

Поиск по вопросам

пятница, 21 июня 2019 г.

как организовать контроль date на нескольких машинах?

Есть насколько машин с линуксом, требуется организовать одновременный контроль даты и времени на них с промежутком примерно в полчаса, чем такое сделать можно? В идеальном случае, без постороннего софта на контролируемых машинах.


Ответ

я проверяю время на машинах таким скриптом:
#!/bin/bash
for i in "$@"; do echo -n "$i " r=$(ssh $i TZ=UTC /bin/date -R) l=$(TZ=UTC /bin/date -R) if [ "$r" != "$l" ]; then echo "remote: $r local: $l" else echo ok fi done
используется беспарольный ssh-доступ (так удобнее, чтобы пароли постоянно не вводить). пример вызова:
$ этот-скрипт user1@host1 user2@host2 user1@host1 remote: Mon, 14 Mar 2016 11:48:38 +0000 local: Mon, 14 Mar 2016 11:48:40 +0000 user2@host2 ok
видно, что на host1 часы отстают примерно на две секунды от часов на локальной машине, где запускался скрипт.
сравниваются, собственно, строки, возвращаемые командой /bin/date -R, т.е., если разница во времени немного меньше секунды, в большинстве случаев сравнение даст положительный результат.

для большей точности лучше поставить пакет с ntpd (обычно пакет так и называется). тогда и сверять время надо будет только в диагностических целях. даже если у машин нет выхода в интернет, с помощью ntpd можно настроить синхронизацию между ними, без привязки к внешнему миру.

Комментариев нет:

Отправить комментарий