Я думаю, что есть два решения для синхронизации времени на моей машине. Одним из них является запуск службы NTP, другим является регулярное выполнение ntpdate
путем помещения его в crontab.
Вот как я это понимаю - это правильно? если да, какое решение лучше?
О ntpdate
:
О ntp
(услуга):
ntpq -p
, чтобы получить список удаленных пиров, и «оценка» (+
, -
, *
) ntp
даст его. ntp
их не трогает. См. Невозможно синхронизировать время с помощью NTP Заключение: Используйте ntpdate
при первом использовании системы (выполняется установщиком Ubuntu, если вы подключены к Интернету) , затем настройте ntp
правильно, и это должно синхронизировать ваши часы. Это лучший вариант, на мой взгляд.
Лучшее решение - запустить ntpd
или ntpclient
. Оба из них будут постоянно корректировать ваши часы, чтобы синхронизировать их. Мои часы, как правило, занимают несколько миллисекунд своего лучшего источника времени. Затраты довольно низкие, и после достижения синхронизации выполняется только один запрос каждые 1024 секунды (или дольше). С источником GPS или радио они могут использоваться даже при отключении от Интернета.
ntpdate
можно использовать для выполнения синхронизации в первый раз, хотя более новые версии демонов также будут выполнять этот шаг. ntpdate
полезен для отладки доступа к серверам времени и обнаружения источников времени. Я использую его, чтобы проверить, является ли мой маршрутизатор или DNS-сервер хорошим источником времени.
Когда мне нужно два или более серверов для синхронизации часов, я использую ntpd
и пиринг серверов. Даже в отключенном состоянии вы можете включить использование локальных часов на одном или трех серверах и позволить им выбрать лучший источник времени.
Демоны могут предоставить хорошие журналы для проверки качества источников времени и того, насколько хорошо вы были синхронизированы. Если вы выдумаете stratum
аппаратных часов, вы можете предоставить резервный источник времени и записать, насколько хорошо он отслеживает реальность.
Я согласен с приведенными выше ответами, но в большинстве случаев слишком просто, чтобы средний пользователь или серверная коробка работали с полным 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.