Выбор способа зависит от того, насколько сильно отстают часы. Если разница небольшая, то можно использовать первый способ. Если часы сильно отстали или убежали вперед, то не стоит переводить их в одну итерацию — безопаснее будет сделать это плавно.
Настройка в Ubuntu/Debian
Быстрое исправление
Для быстрого изменения времени на сервере подходит утилита ntpdate. Для ее установки потребуются права sudo:
apt-get install ntpdate
Чтобы поправить часы однократно, выполните:
/usr/sbin/ntpdate 1.ru.pool.ntp.org
Здесь ntp pool — это адрес доверенного сервера, с которым система сверяет время.
Вы можете также настроить автоматическую проверку часов с нужной периодичностью с помощью планировщика cron.
crontab -e
00 1 * * * /usr/sbin/ntpdate 1.ru.pool.ntp.org
Так вы задаете синхронизацию раз в сутки.
Вместо периодичности можно указать условие — например, синхронизировать часы при каждой загрузке. Это делается с помощью cron reboot.
crontab -e
@reboot /usr/sbin/ntpdate 1.ru.pool.ntp.org
Плавная коррекция
Для плавного изменения времени установите утилиту ntp Ubuntu и Debian. Работает она следующим образом:
- Утилита проверяет данные через серверы синхронизации времени, указанные в конфигурации.
- Высчитывается разница между текущим значением в системе и образцовыми показателями.
- NTP начинает постепенно переводить часы. Плавность нужна для того, чтобы у других сервисов не появились проблемы из-за резкого скачка.
Добавьте Linux ntp:
apt-get install ntp
Сервис добавится в список автозагрузки. Чтобы утилита работала корректно, необходимо настроить конфигурацию. Она хранится в файле /еtc/ntp.conf. Укажите в нем серверы ntp. Значения могут быть такими:
server 0.ru.pool.ntp.org iburst
server 1.ru.pool.ntp.org iburst
server 2.ru.pool.ntp.org iburst
server 3.ru.pool.ntp.org iburst
Опция iburst делает синхронизацию более точной, заставляя пересылать не один, а сразу ряд пакетов. Можно также установить предпочтительный источник данных с помощью опции prefer:
server 0.ubuntu.pool.ntp.org iburst prefer
После каждого изменения конфигурации необходимо перезапускать утилиту:
/etc/init.d/ntp restart
Настройка в CentOS
Правила выбора способа такие же. Если нужно устранить разницу в несколько секунд, подойдет первый способ. Для исправления минут и часов лучше применять второй способ.
Быстрое исправление
Чтобы быстро поправить время, используйте ntpdate. Установите утилиту:
yum install ntpdate
Для однократной синхронизации выполните:
/usr/sbin/ntpdate 1.ru.pool.ntp.org
1.ru.pool.ntp.org — источник, с которым вы синхронизируетесь.
Чтобы сверка проходила автоматически и с установленной периодичностью, используйте Crontab CentOS. Например, так выглядит настройка ежесуточной проверки:
crontab -e
00 1 * * * /usr/sbin/ntpdate 1.ru.pool.ntp.org
Вместо указания временных промежутков можно указать условие — например, загрузку:
crontab -e
@reboot /usr/sbin/ntpdate 1.ru.pool.ntp.org
Плавная коррекция
Для постепенного изменения времени применяйте ntp CentOS. Добавьте его:
yum install ntp
Включите автозагрузку сервиса:
chkconfig ntpd on
Укажите в файле /etc/ntp.conf источники точного времени. Например:
server 0.ru.pool.ntp.org iburst
server 1.ru.pool.ntp.org iburst
server 2.ru.pool.ntp.org iburst
server 3.ru.pool.ntp.org iburst
Параметр iburst делает то же, что и в конфигурации на Ubuntu/Debian — заставляет отправлять ряд пакетов, что увеличивает точность синхронизации.
Перезапустите сервис после изменения конфигурации:
/etc/init.d/ntp restart
А затем заново запустить демона:
/etc/init.d/ntpd start
Дополнительные параметры
Синхронизация выполняется с тем источником, который физически находится ближе к вашему серверу. Однако в конфигурации можно прямо указать желаемый регион в поддомене. Например, так:
asia.pool.ntp.org europe.pool.ntp org
Даже если NTP-сервер окажется отключенным от сети, он все еще сможет передать системное время. Для этого достаточно добавить строку:
server 127.127.1.0
Можно ограничить доступ внешних клиентов. Дефолтно выставлены такие параметры:
- restrict − 4 default kod notrap nomodify nopeer noquery
- restrict − 6 default kod notrap nomodify nopeer noquery
Notrap, nomodify, nopeer, noquery устанавливают запрет на изменение параметров сервера. KOD (kiss of death) предоставляет еще один уровень защиты. Если запросы от клиента приходят слишком часто, то он получает сначала пакет с предупреждением, а затем отключается.
Если нужен неограниченный доступ для локального хоста, установите его командой:
restrict 127.127.1.0
А синхронизировать устройства из локальной сети с сервером поможет следующая строка:
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
После внесения любых изменений сервис нужно перезагружать:
service restart ntp
Проверить работу можно командой:
ntpq -p
Она выдает таблицу, в которой указан адрес источника точного времени, уровень сервера, время последней сверки и другие полезные данные.
От Sipsb
Рекомендуемые комментарии
Комментариев нет
Создайте учетную запись или войдите, чтобы комментировать
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти