Опубликовано: 15.02.2021

Установка и настройка времени в CentOS 7

Для нормального функционирования любого сервера требуется корректно настроить текущее время и обеспечить его своевременное обновление с определённой периодичностью.

Первоначальная установка времени

Первоначальная установка текущего времени в CentOS 7 производится при инсталляции операционной системы.

Настройки даты и времени

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

Настройки даты и времени

Команды для получения и установки времени

Узнать текущее программное время на сервере позволяет команда  date

Получение времени с помощью команды date

Для установки времени вручную команда date может иметь следующий формат:  date MMDDhhmm,  где MM — номер месяца в году (от 01 до 12); DD — номер дня в месяце (от 01 до 31); hh — номер часа в сутках (от 00 до 23); mm — номер минуты в часе (от 00 до 59). Например:

Получение времени с помощью команды date

Чтобы получить полную информацию обо всех параметрах команды date, необходимо в командной строке набрать:  date --help

Параметры команды date

Для получения расширенной информации о настройках времени на сервере используется команда  timedatectl

Команда timedatectl

Она показывает местное программное время, соответствующее ему всемирное время (UTC), время аппаратных часов сервера (RTC), установленный в системе часовой пояс (Time zone), состояние клиента синхронизации внутренних часов (NTP) и настройки перехода на сезонное (летнее/зимнее) время (DST).

Для установки времени вручную команда timedatectl должна иметь следующий формат:  timedatectl set-time 'YYYY-MM-DD hh:mm:ss',  где YYYY — номер года (от 0000 до 9999); MM — номер месяца в году (от 01 до 12); DD — номер дня в месяце (от 01 до 31); hh — номер часа в сутках (от 00 до 23); mm — номер минуты в часе (от 00 до 59); ss — номер секунды в минуте (от 00 до 59). Например:

Установка даты и времени

Примечание: Задать время с помощью команды timedatectl можно только в том случае, если отключена синхронизация часов, то есть когда в информационном сообщении выводится NTP enabled: no. Если синхронизация включена, система выдаст сообщение о невозможности выполнения команды.

Отключается синхронизация часов командой  timedatectl set-ntp 0,  а включается командой  timedatectl set-ntp 1.  Как и для всех булевых команд, вместо 1 здесь можно использовать on или true, вместо 0 — off или false.

Для смены часового пояса команда timedatectl должна иметь формат:  timedatectl set-timezone Region/City,  где Region — регион, в котором находится часовой пояс; City — город, характеризующий устанавливаемый часовой пояс. Например:

Установка часового пояса

Просмотреть список всех городов в регионах можно с помощью команды  timedatectl list-timezones.  Поскольку выводимый при этом список получается слишком большим, то лучше использовать её с фильтром grep. Так, например, для просмотра городов европейского региона команду следует записывать следующим образом:

Просмотр городов европейского региона

А для просмотра списка городов азиатского региона следует использовать такой фильтр:

Просмотр городов азиатского региона

Чтобы получить полную информацию обо всех параметрах команды timedatectl, необходимо в командной строке набрать:  timedatectl --help

Параметры команды timedatectl

Служба синхронизации времени

В последних релизах CentOS для синхронизации времени используется NTP-клиент chrony. По умолчанию chrony уже должен быть установлен в системе, а если нет, то установить его можно с помощью команды  yum install chrony

Установка chrony

Примечание: Об отсутствии NTP-клиента свидетельствует статус n/a в строке NTP enabled сообщения, выводимого командой timedatectl.

Отсутствие NTP-клиента

После установки chrony его нужно включить и добавить в автозагрузку. Для этого последовательно введём команды  systemctl start chronyd  и  systemctl enable chronyd

Включение NTP-клиента

Примечание: Будьте внимательны при наборе команд. Дело в том, что в пакет chrony включены две программы: демон chronyd и интерфейс командной строки chronyc. Указывайте правильно окончание названий запускаемых компонент.

Проверить статус сервиса можно командой  systemctl status chronyd

Статус сервиса

Чтобы проверить информацию о текущих параметрах синхронизации времени, используем команду  chronyc tracking

Текущие параметры синхронизации

Чтобы проверить информацию о серверах синхронизации, используем команду  chronyc sources

Сервера синхронизации

Конфигурационный файл chrony — /etc/chrony.conf. В нём должен быть указать список NTP-серверов, которые нужно использовать для синхронизации. Посмотреть содержимое файла можно, например, с помощью редактора vi, набрав в командной строке:  vi /etc/chrony.conf

Файл chrony.conf

Для просмотра же в редакторе nano соответственно набираем в командной строке:  nano /etc/chrony.conf

Описание всех параметров файла конфигурации chrony.conf можно найти, пройдя по ссылке https://chrony.tuxfamily.org/documentation.html.

Другие статьи по схожей тематике