Перейти к основному контенту

Настройка времени и часового пояса в Linux

 intro-Setting-Time-TimeZone-Linux-planetahost.png

Подробности урока

Уровень сложности Лёгкий
Права root Требуются
Требования Терминал Linux
Категория Система
Совместимость с ОС AlmaLinux, Arch, CentOS, Debian, Fedora, Linux Mint, openSUSE, Pop!_OS, RHEL, Rocky Linux, Slackware, CentOS Stream, SUSE, Ubuntu
Примерное время чтения 15 минут

Введение

На любом сервере важно, чтобы дата и время были настроены правильно.
Если время сбито хотя бы на несколько минут, могут появиться странные проблемы: не работают SSL-сертификаты, задания по расписанию запускаются не тогда, логи показывают неправильные даты, а авторизация может выдавать ошибки.

Поэтому после установки системы или переноса сервера стоит проверить три вещи:

  • установлен ли правильный часовой пояс

  • синхронизируется ли время автоматически

  • корректно ли настроены аппаратные часы

В этой инструкции разберём, как быстро проверить и настроить дату, время и часовой пояс в системах Debian/Ubuntu и RHEL/CentOS/AlmaLinux/Rocky Linux.

Все команды можно просто скопировать и выполнить в терминале.

Настройка

Проверяем текущее состояние
timedatectl

Пример вывода:

изображение.png

Что важно:

  1. Time zone - ваш часовой пояс
  2. System clock synchronized: yes - время синхронизируется
  3. NTP service: active - служба работает

Если здесь всё yes — уже хорошо.

Настраиваем часовой пояс

Посмотреть список всех зон:

timedatectl list-timezones

изображение.png

Установить нужный пояс

Пример (Новосибириск):

sudo timedatectl set-timezone Asia/Novosibirsk

Пример (Москва):

sudo timedatectl set-timezone Europe/Moscow

Проверить:

timedatectl

Параметры применяются без перезагрузки.

Включаем синхронизацию времени (NTP)

Это самое главное для сервера.

sudo timedatectl set-ntp true

Проверяем:

timedatectl

изображение.png

Должно быть:

System clock synchronized: yes
NTP service: active

Если синхронизация не работает

Debian / Ubuntu

Проверяем службу:

systemctl status systemd-timesyncd

изображение.png

Если не запущена:

sudo systemctl enable systemd-timesyncd --now

RHEL / CentOS / Alma / Rocky

В этих системах используется служба chrony.

Проверить:

systemctl status chronyd

Запустить:

sudo systemctl enable chronyd --now

Проверить, откуда берётся время:

chronyc sources

Если нужно сразу синхронизировать:

sudo chronyc makestep
Установить время вручную

Нужно только если сервер изолирован или нет службы синхронизации.

sudo timedatectl set-time "2026-02-24 22:30:00"

Проверить:

date

Если включен NTP, то вы получите ошибку:

изображение.png

Аппаратные часы (RTC)

Серверы должны хранить аппаратное время в UTC.

Проверить:

timedatectl

Если написано:

RTC in local TZ: yes

Лучше изменить:

sudo timedatectl set-local-rtc 0

Если стоит Windows в dual-boot:

sudo timedatectl set-local-rtc 1

Типовые проблемы и их решение

Время не синхронизируется

Проверьте:

  • доступ к интернету
  • открыты ли UDP-порты 123
  • не блокирует ли firewall
  • корректно ли работает chronyd/systemd-timesyncd

Время постоянно отстает или спешит

Возможные причины:

  • виртуализация (VPS синхронизируется гипервизором)
  • отключён NTP
  • проблема с аппаратными часами

Заключение

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