Должен ли я регулярно запускать 'ntpdate' или использовать службу NTP?

Я думаю, что есть два решения для синхронизации времени на моей машине. Одним из них является запуск службы NTP, другим является регулярное выполнение ntpdate путем помещения его в crontab.

Вот как я это понимаю - это правильно? если да, какое решение лучше?

6
задан 27 August 2013 в 12:49

3 ответа

О ntpdate:

  • Следует использовать для синхронизации времени только в этот момент. После того, как оно пройдёт, оно оставит время в покое.
  • Ограничивается синхронизация с одним удаленным узлом.
  • Не учитывает перекос, вызванный вашими системными часами.

О ntp (услуга):

  • Проверяет несколько удаленных одноранговых узлов.
  • Возможность проверки удаленных пиров, которые предоставляют неправильное время. Они будут игнорироваться. Запустите ntpq -p, чтобы получить список удаленных пиров, и «оценка» (+, -, *) ntp даст его.
  • Отслеживает время машины и регулирует время очень маленькими приращениями, чтобы компенсировать перекос, вызванный системными часами.
  • Не применяется большое смещение. Если ваши системные часы выключены на несколько часов, ntp их не трогает. См. Невозможно синхронизировать время с помощью NTP

Заключение: Используйте ntpdate при первом использовании системы (выполняется установщиком Ubuntu, если вы подключены к Интернету) , затем настройте ntp правильно, и это должно синхронизировать ваши часы. Это лучший вариант, на мой взгляд.

0
ответ дан 27 August 2013 в 12:49

Лучшее решение - запустить ntpd или ntpclient. Оба из них будут постоянно корректировать ваши часы, чтобы синхронизировать их. Мои часы, как правило, занимают несколько миллисекунд своего лучшего источника времени. Затраты довольно низкие, и после достижения синхронизации выполняется только один запрос каждые 1024 секунды (или дольше). С источником GPS или радио они могут использоваться даже при отключении от Интернета.

ntpdate можно использовать для выполнения синхронизации в первый раз, хотя более новые версии демонов также будут выполнять этот шаг. ntpdate полезен для отладки доступа к серверам времени и обнаружения источников времени. Я использую его, чтобы проверить, является ли мой маршрутизатор или DNS-сервер хорошим источником времени.

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

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

0
ответ дан 27 August 2013 в 12:49

Я согласен с приведенными выше ответами, но в большинстве случаев слишком просто, чтобы средний пользователь или серверная коробка работали с полным NTP-сервером / сервисом / демоном.
И зачем устанавливать дополнительное системное программное обеспечение? Если для системы Ubuntu достаточно установить заданное системное время (см. Следующий абзац), это подойдет для большинства синхронизаций, необходимых пользователю avg.

Если ваши системные часы не работают постоянно (как некоторые из моих машин) или вам не требуется очень точное точное круглосуточное время, синхронизация выполняется каждый раз, когда активируется сетевой интерфейс ( см .: /etc/network/if-up.d/ntpdate).

Если вам иногда нужны обновления системных часов, но вы не хотите запускать полную службу NTPd, нет ничего плохого в использовании ntpdate для обновления вашей системы, когда вам нравится. Я делаю это через cron. Вы можете захотеть сделать корневой crontab или crond ежечасно (или ежедневно), используя ntpdate:

sudo nano /etc/cron.hourly/synctime

Примечание: Имя файла сценария называется по run-parts не должно иметь расширения или нечетных символов. Ваш сценарий не будет поднят, если это так. Я выбираю одно строчное имя выше («synctime» - без расширения).

Затем добавьте это в этот скрипт:

#!/bin/sh
/usr/sbin/ntpdate -s 192.168.1.1  # < local or remote (name or IP) for NTP server here

Сохранить. Затем создайте исполняемый файл:

sudo chmod 755 /etc/cron.hourly/synctime

Каждый час ntpdate будет синхронизироваться с сервером по вашему выбору. (Время cron.hourly по умолчанию на моем сервере обрабатывается ~ 17 минут после часа) .. в дополнение к системной синхронизации по умолчанию, выполняемой при запуске интерфейса (обычно, когда система запускается после перезагрузки).

Я лично запускаю сервер ntpd на своем главном сервере Ubuntu (синхронизируется с точными пулами серверов ntp в Интернете), который, в свою очередь, передает все мои компьютеры локальной сети через ntpdate, как указано выше, - в качестве клиента , Таким образом, моя локальная сеть синхронизируется из одной локальной точки с помощью стандартной утилиты Ubuntu ntpdate.

Syslog at 17 minutes past hour..

0
ответ дан 27 August 2013 в 12:49

Другие вопросы по тегам:

Похожие вопросы: