Гид по технологиям

Как установить и проверить время и дату в Linux

5 min read Системное администрирование Обновлено 15 Apr 2026
Как установить и проверить время и дату в Linux
Как установить и проверить время и дату в Linux

Часы, символизирующие время и дату

Как управляется время в Linux

Linux использует два типа часов:

  • Аппаратные часы (RTC, hardware clock) — встроенные в плату часы, которые продолжают работать когда ОС выключена или перезагружается.
  • Системные часы (software clock) — поддерживаются ядром и используются приложениями. При загрузке система получает начальное время из RTC.

По умолчанию системное время хранится в формате UTC. ОС конвертирует UTC в локальное время по часовому поясу для отображения пользователю.

Важно: для корректной работы распределённых систем и сертификатов рекомендуют хранить системное время в UTC и показывать локальное время только в интерфейсах.

Просмотр текущего времени и настроек

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

timedatectl

Вывод команды timedatectl в Linux, показ времени и настроек

Команда показывает локальное время, UTC, аппаратные часы, текущий часовой пояс и включён ли NTP.

Альтернатива: для простого отображения времени можно использовать:

date

Как изменить время вручную

Чтобы задать время, используйте timedatectl с подкомандой set-time. Требуются права суперпользователя:

sudo timedatectl set-time hh:mm:ss

Формат времени — 24-часовой. Пример установки полуночи:

sudo timedatectl set-time 00:00:00

Примечание: команда обновляет и системные, и аппаратные часы. Если NTP включён, ручная установка времени не сработает до отключения синхронизации.

Включение и отключение NTP

Network Time Protocol (NTP) автоматически синхронизирует время с внешним сервером. Управление:

sudo timedatectl set-ntp false
sudo timedatectl set-ntp true

Важно: некоторые системы используют systemd-timesyncd или другие демоны синхронизации. set-ntp переключает общее состояние синхронизации, но конкретный демон должен быть установлен и поддерживаться системой.

Как установить дату

Формат для установки даты — YYYY-MM-DD. Можно указывать также и время в одной строке:

sudo timedatectl set-time YYYY-MM-DD

Пример изменения даты (и времени):

sudo timedatectl set-time "2000-01-01 23:00:01"

Если указать только дату, timedatectl установит время на 00:00 по умолчанию.

Смена часового пояса

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

timedatectl list-timezones

Список часовых поясов, выведенный в терминале Linux

Используйте клавиши F/B или стрелки для прокрутки в терминале. После выбора примените нужный пояс, например:

timedatectl set-timezone Africa/Blantyre

После смены часового пояса локальное отображаемое время изменится, а внутреннее значение в UTC останется корректным.

Справка и документация

Чтобы получить краткую помощь по timedatectl:

timedatectl help

Для подробного описания используйте man:

man timedatectl

Альтернативные утилиты

timedatectl — современный инструмент, входящий в состав systemd. Дополнительно вы можете встретить:

  • hwclock — работа с аппаратными часами напрямую;
  • date — отображение и простая установка времени;
  • chronyd или ntpd — альтернативные демоны NTP для тонкой настройки синхронизации.

Выбор зависит от типа системы: на серверах часто используют chrony или ntpd для устойчивой синхронизации, на рабочих станциях достаточно systemd-timesyncd.

Практическое руководство: безопасная последовательность действий

  1. Проверьте текущее состояние:
timedatectl
  1. Если NTP включён и вам нужно ручное изменение, временно отключите его:
sudo timedatectl set-ntp false
  1. Установите дату и/или время:
sudo timedatectl set-time "YYYY-MM-DD hh:mm:ss"
  1. Проверьте аппаратные часы (опционально):
sudo hwclock --show
  1. Включите NTP снова при необходимости:
sudo timedatectl set-ntp true
  1. Подтвердите финальные значения:
timedatectl

Критерии приёмки:

  • Локальное время отличается от заданного не более чем на допустимую погрешность (обычно <1 сек при NTP).
  • Часовой пояс соответствует требуемому региону.
  • NTP включён, если требуется автоматическая синхронизация.

Быстрый шпаргалка — команды

# Показать состояние
timedatectl

# Установить время
sudo timedatectl set-time 14:30:00

# Установить дату (и время)
sudo timedatectl set-time "2025-05-01 08:00:00"

# Включить/отключить NTP
sudo timedatectl set-ntp true
sudo timedatectl set-ntp false

# Список часовых поясов
timedatectl list-timezones

# Установить часовой пояс
sudo timedatectl set-timezone Europe/Moscow

Роли и чек-лист при изменении времени

Администратор:

  • Выполнить резервную проверку логов и меток времени.
  • Отключить NTP при необходимости.
  • Прописать изменения в Change-лог.

Оператор/пользователь:

  • Проверить, доступна ли команда timedatectl.
  • Сообщить администратору о несоответствии времени.

DevOps-инженер:

  • Убедиться, что кластеры и CI/CD не пострадают от смены времени.
  • Обновить конфигурации мониторинга и SLO при необходимости.

Когда ручная настройка не сработает

  • NTP включён — timedatectl не разрешит ручную установку.
  • Система использует специализированный агент времени в облаке (например, облачные провайдеры могут принудительно синхронизировать часы).
  • Отсутствуют права суперпользователя.

Если изменение откатывается автоматически, проверьте запущенные демоны синхронизации и политики управления конфигурацией (Ansible, Salt, Puppet).

Безопасность и конфиденциальность

  • Неправильное время может нарушить проверку сертификатов TLS, логи и аутентификацию.
  • Не отключайте NTP на производственных серверах без плана отката и уведомления команды.

Мини-методология проверки после изменения

  1. Выполнить timedatectl и убедиться в ожидаемых значениях.
  2. Проверить синхронизацию с внешним сервером (если применимо).
  3. Просмотреть системные логи за последние минуты для поиска ошибок, связанных со временем.
  4. Тестировать критичные приложения (аутентификация, SSL, планировщики задач).

Короткий глоссарий

  • UTC — Всемирное координированное время.
  • RTC — Аппаратные часы.
  • NTP — Протокол сетевого времени.

Частые вопросы

Как временно установить время без изменения аппаратных часов?

Используйте только изменение системного времени через timedatectl; однако timedatectl обычно обновляет и аппаратные часы. Для более тонкого управления применяйте hwclock с опциями восстановления.

Могу ли я указать NTP-сервер в timedatectl?

timedatectl не настраивает список серверов напрямую; для этого редактируют конфигурацию демона синхронизации (systemd-timesyncd, chrony или ntpd).

Что делать, если после смены часового пояса логи стали некорректными?

Откатите изменения, синхронизируйте часы с NTP и пересмотрите политику ротации логов. В серьёзных случаях восстановите логи из бэкапов.

Краткое резюме

  • timedatectl — основной инструмент для просмотра и настройки времени в systemd-системах.
  • Всегда проверяйте состояние NTP перед ручной правкой.
  • Используйте чек-листы и уведомляйте команду при изменениях на продакшн-серверах.

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Подготовка к техническому собеседованию разработчика
Карьера

Подготовка к техническому собеседованию разработчика

Запуск мастера устранения неполадок в Windows
Windows

Запуск мастера устранения неполадок в Windows

Как создать мем: полное руководство
Социальные сети

Как создать мем: полное руководство

Как устранить BSOD 0x0000003B в Windows
Windows

Как устранить BSOD 0x0000003B в Windows

Clone Stamp в Photoshop — подробное руководство
Графика

Clone Stamp в Photoshop — подробное руководство

Синхронизация звука и видео в After Effects
Видео монтаж

Синхронизация звука и видео в After Effects