Выбор способа зависит от того, насколько сильно отстают часы. Если разница небольшая, то можно использовать первый способ. Если часы сильно отстали или убежали вперед, то не стоит переводить их в одну итерацию — безопаснее будет сделать это плавно.
Настройка в Ubuntu/Debian
Быстрое исправление
Для быстрого изменения времени на сервере timeweb.cloud подходит утилита 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.org1.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Она выдает таблицу, в которой указан адрес источника точного времени, уровень сервера, время последней сверки и другие полезные данные.
