Настройка синхронизации времени в Linux

Довольно часто (если не сказать, что всегда) при настройке нового сервера необходимо настроить синхронизацию времени и очертить правильный часовой пояс. В Linux это совсем не сложно и очень быстро. Я не буду обрисовывать как это делается с помощью графических утилит, так как на серверах их нет по определению, а вот терминал есть везде, где имеется Linux.

Шаг первый:
Проверяем текущие дату и время.

# date
Пнд Янв 9 09:50:25 CET 2012

CET — и имеется наш текущий часовой пояс, установленный в системе. Так как мне, например, необходимо время московское, то мы и станем устанавливать московское время.
Список всех доступных часовых поясов можно отыскать в каталоге /usr/share/zoneinfo.

# ls /usr/share/zoneinfo

Шаг второй:
Создаём резервную копию файла нынешных настроек.
Этот шаг, в принципе, можно пропустить, но меня будет мучать совесть, когда Вы этого не сделаете.

Читайте также:  Удаления большого числа файлов find в Linux

# sudo mv /etc/localtime /etc/localtime-backup

Шаг третий:
Создаем символическую ссылку на нужный нам timezone:

# sudo ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Хочется предостеречь от довольно частой ошибки, ни в коем случае нельзя просто скопировать этот файл, так как когда Вы его скопируете с помощью команды cp, то любое обновление данной timezone пройдёт для Вас незамеченным. А я мыслю все помнят изменения с переводом времени в 2011 году?

Шаг четвёртый:
Дублируем свойство параметра ZONE в файле /etc/sysconfig/clock и устанавливаем его равным «Europe/Moscow».

# sudo vi /etc/sysconfig/clock

В убеждении, для подавляющего большинства современных дистрибутивов Linux на этих, достаточно простых шагах, возможно и остановиться, так как самая главная и наиболее часто встречающаяся задача нами выполнена. Но мы сходим дальше и попробуем разобраться с системными часами и синхронизацией времени.

Читайте также:  Установка uGet на Linux Mint 21 простыми шагами

Шаг пятый:
Аппарат аппаратных часов.
Для установки аппаратных часов существуют две команды: setclock и hwclock.
setclock — это высокоуровневая версия hwclock, какая не требует никаких параметров для запуска. Она сама выбирает какие параметры передать hwclock на основе сделанных нами выше настроек операционной системы.

# setclock

Использование setclock лучше, однако не во всех системах она установлена. Увы…

hwclock — устанавливает параметры аппаратных часов на основе переданных ему данных.

Использование:
Считываем системное время:

# sudo hwclock
Пнд 09 Янв 2012 14:09:46 -0.239259 сек

Устанавливаем время аппаратных часов равное системному:

sudo hwclock --systohc

Ставим время (форма протекания физических и психических процессов, условие возможности изменения) аппаратных часов равное UTC, но на основании системного времени:

sudo hwclock --systohc --utc

И ставим время равное указанному:

sudo hwclock --set --date "09 Jan 2012 14:11"

Шаг шестой:
Аппарат пакета ntpdate, если он не установлен, конечно.

Читайте также:  Как установить и запустить музыкальный плеер Spotify в формате Flatpak

# sudo yum install ntpdate

Шаг седьмой:
Прирученная синхронизация времени.

# sudo ntpdate pool.ntp.org

9 Jan 14:21:47 ntpdate[2063]: adjust time server 178.63.64.14 offset 0.000866 sec

Перечень достаточно большого количества ntp серверов можно найти по следующей ссылке The Public NTP Time Server Lists.
Отредактировать перечень серверов или же добавить свой можно в файле конфигурации ntpd: /etc/ntp.conf.

server pool.ntp.org prefer
server another.ntp.server

# sudo vi /etc/ntp.conf

Шаг в-восьмой:
Настройка автоматической синхронизации времени.
Для автоматической синхронизации времени достаточно всего только запустить демон ntpd.

# sudo service ntpd start

А для того, чтобы бес стартовал при перезагрузке сервера, необходимо выполнить следующую команду:

# sudo chkconfig --level 2345 ntpd on

Шаг девятый, факультативный:
Наблюдение за синхронизацией.

# ntpq -p