Консольная утилита ntpdate это простой клиент для синхронизации локальных системных часов с удаленным NTP сервером. Она позволяет проверить что, на вашем хосте установлено точное время, и если нужно синхронизировать время. Несмотря на то, что ntpdate считается устаревшей, она часто используется в простых случаях, когда нужно проверить точность времени или однократно вручную синхронизацию время.
Пакет ntpdate доступен в большинстве стандартных репохиториях дистрибутивов Linux. Чтобы установить ntpdate клиент, выполните:
В Debian/Ubuntu:
# apt-get install ntpdate
В CentOS/RHEL/Fedora:
# dnf install ntpdate
Сравните расхождение текущего локального время хоста с любым публичным NTP сервером:
# ntpdate -q 0.ru.pool.ntp.org
Команда вернет примерно такой ответ:
server XX, stratum 3, offset -0.001678, delay 0.09354 server XX, stratum 3, offset -0.002948, delay 0.09235 server XX, stratum 2, offset -0.003413, delay 0.09418 server XX, stratum 2, offset +0.000915, delay 0.10155 16 Dec 09:58:43 ntpdate[116859]: adjust time server 176.9.42.91 offset -0.003413 sec
Расхождение времени с часами на NTP сервере указано в значении offset. Чтобы однократно синхронизировать время с NTP серверов, выполните команду:
# /usr/sbin/ntpdate -bs 0.ru.pool.ntp.org
Для синхронизации времени найдите ближайший к вам NTP сервер на сайте http://www.pool.ntp.org/.
Чтобы время синхронизировалось автоматически раз в сутки в 1:00 AM, можно создать задание планировщика:
# crontab -e
# 00 1 * * * /usr/sbin/ntpdate 0.ru.pool.ntp.org
Для автоматической синхронизации при загрузке Linux
#crontab -e
#@reboot /usr/sbin/ntpdate 0.ru.pool.ntp.org
При синхронизации времени может появиться ошибка:
ntpdate[21301]: no server suitable for synchronization found
Это означает, что NTP сервер недоступен. По умолчанию для синхронизации времени используется стандартный порт UDP 123. В этом случае попробуйте выполнить синхронизацию времени с помощью непривелигироанного порта (ключ –u
):
# ntpdate -u pool.ntp.org
Другая частая ошибка ntpdate выглядит так:
ntpdate[22359]:: the NTP socket is in use, exiting
Эта ошибка означает, что порт UDP 123 занят другой программой. Как правило его использует демон ntpd или chronyd.
Вы можете остановить службу ntpd в Linux:
# systemctl stop ntpd
Теперь выполните синхронизацию времени с помощью ntpdate