timedatectl: проверка синхронизации времени на сервере Linux и настройка часового пояса
timedatectl — команда systemd, которая показывает и меняет системные часы, часовой пояс и состояние синхронизации времени по NTP на сервере Linux. При проверке синхронизации на сервере AlmaLinux 9 с chrony и сервере Debian 12 с ntpsec часы на обоих серверах шли верно, но строка NTP service на одном показала active, а на другом n/a.
Ниже приведён вывод команд, выполненных на двух серверах. На примерные значения заменены только имена хостов, IP-адреса и номера версий пакетов, а команды, меняющие время или часовой пояс, на рабочем сервере не выполнялись.
1️⃣ Использование timedatectl и проверка времени на сервере Linux
Запуск timedatectl без параметров даёт тот же результат, что и с status. Время системных и аппаратных часов (RTC), часовой пояс и состояние синхронизации собраны на одном экране. Ниже результат на сервере Debian 12.
timedatectl Local time: Wed 2026-10-28 19:49:57 UTC
Universal time: Wed 2026-10-28 19:49:57 UTC
RTC time: Wed 2026-10-28 19:49:57
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
NTP service: n/a
RTC in local TZ: noЧасовой пояс сервера Debian 12 — Etc/UTC, поэтому Local time и Universal time показали одно и то же время. Что показывает каждая строка и результаты двух серверов — в таблице ниже.
| Строка вывода | Что показывает | Результаты двух серверов и что проверить |
|---|---|---|
| Local time | Текущее время системных часов с учётом часового пояса | При смене часового пояса в новый пояс переходят только эта строка и вывод date |
| Universal time | То же время в UTC | Не меняется при смене часового пояса — на сервере Debian 12 (Etc/UTC) совпадает с Local time |
| RTC time | Время аппаратных часов (RTC) | Выводится без часового пояса — время UTC, если RTC in local TZ равно no |
| Time zone | Заданный часовой пояс, его сокращение и разница с UTC | При смене используйте имя из списка list-timezones |
| System clock synchronized | Считает ли ядро часы синхронизированными | На обоих серверах yes — при no сначала проверьте опорный сервер через chronyc tracking или ntpq -p |
| NTP service | Запущена ли служба синхронизации, которую включает и выключает timedatectl | AlmaLinux 9 (chrony) — active, Debian 12 (ntpsec) — n/a; n/a значит, что timedatectl не знает эту службу, поэтому проверяйте её через systemctl |
| RTC in local TZ | Идут ли аппаратные часы по местному времени (no = UTC) | На обоих серверах no — команда для перевода yes в UTC: set-local-rtc 0 |
В Linux двое часов. Системные часы ведёт ядро после загрузки, а аппаратные часы — это часы на материнской плате, которые идут даже при выключенном сервере.
Аппаратные часы читаются напрямую командой hwclock. hwclock выводит время, пересчитанное в текущий часовой пояс. На сервере AlmaLinux чтение с TZ=UTC перед командой дало время UTC с +00:00 в конце.
TZ=UTC hwclock --show2026-10-28 19:53:33.006788+00:00На сервере Debian 12, где вход был под обычной учётной записью, та же команда завершилась, не получив доступа к аппаратным часам.
/usr/sbin/hwclock --showhwclock: Cannot access the Hardware Clock via any known method.
hwclock: Use the --verbose option to see the details of our search for an access method.Строка RTC in local TZ — это та же настройка, что и третья строка файла /etc/adjtime. На сервере AlmaLinux третья строка была UTC, то есть аппаратные часы идут по UTC.
cat /etc/adjtime0.0 0 0.0
0
UTCЧтобы читать значения в скрипте, используйте show вместо status. На сервере Debian 12 та же информация выводится в виде имя=значение, по одному на строку.
timedatectl showTimezone=Etc/UTC
LocalRTC=no
CanNTP=no
NTP=no
NTPSynchronized=yes
TimeUSec=Wed 2026-10-28 19:49:57 UTC
RTCTimeUSec=Wed 2026-10-28 19:49:57 UTCВыберите свойства через -p и добавьте --value, чтобы остались только значения без имён. Так извлекают одно лишь имя часового пояса.
timedatectl show -p Timezone --valueEtc/UTC🔲 Симулятор команды timedatectl
В симуляторе ниже можно самому ввести команды для проверки времени, вывода списка часовых поясов, смены пояса и проверки синхронизации через chronyc.
2️⃣ Состояние синхронизации времени на сервере Linux
Строка System clock synchronized показывает, считает ли ядро часы синхронизированными, а строка NTP service — запущена ли служба синхронизации, которую timedatectl может включать и выключать. В show те же значения выводятся как NTPSynchronized и NTP, а CanNTP показывает, есть ли служба синхронизации, которую можно включать и выключать.
На сервере AlmaLinux 9 с chrony все три значения были yes.
timedatectl show -p CanNTP -p NTP -p NTPSynchronizedCanNTP=yes
NTP=yes
NTPSynchronized=yesНа сервере Debian 12, где время выставляет ntpsec, yes было только у NTPSynchronized, а CanNTP и NTP были no. Поэтому на экране status этого сервера строка NTP service показала n/a.
timedatectl show -p CanNTP -p NTP -p NTPSynchronizedCanNTP=no
NTP=no
NTPSynchronized=yesСама служба ntpsec работала.
systemctl is-active ntpsecactivetimedatectl знает только те службы синхронизации, что записаны в файлах списков в папке ntp-units.d, а пакеты дистрибутива кладут эти файлы в /usr/lib/systemd/ntp-units.d/ (по официальному руководству). На сервере AlmaLinux 9 был файл списка, установленный пакетом chrony, с одной строкой chronyd.service.
cat /usr/lib/systemd/ntp-units.d/50-chronyd.listchronyd.servicerpm -qf /usr/lib/systemd/ntp-units.d/50-chronyd.listchrony-4.8-10.el9.x86_64На сервере Debian 12 этой папки не было. Поскольку ntpsec нет в списке, timedatectl знал, что часы синхронизированы, но не мог включить или выключить эту службу.
ls /usr/lib/systemd/ntp-units.d/ls: cannot access '/usr/lib/systemd/ntp-units.d/': No such file or directory3️⃣ Проверка синхронизации времени с помощью chronyc
На сервере с chrony то, по какому серверу времени идут часы, проверяют командой chronyc. sources выводит серверы времени, которые опрашивает chronyd, и их состояние, по одному на строку.
chronyc sourcesMS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- 192.0.2.10 2 10 377 943 +272us[ +275us] +/- 55ms
^- ntp1.example.com 2 10 377 80 -28us[ -32us] +/- 3655us
^- 198.51.100.33 3 10 257 384 -151us[ -156us] +/- 97ms
^- 198.51.100.82 3 10 177 532 +157us[ +149us] +/- 45ms
^* 192.0.2.123 3 4 377 2 -21us[ -23us] +/- 312usСимвол ^ в начале обозначает сервер времени, * вторым символом — опорный сервер, по которому сейчас идут часы, а - — кандидата, не включённого в расчёт. Poll 4 у опорного сервера означает опрос каждые 16 секунд (2 в степени 4), а Reach 377 — что получены все восемь последних ответов.
tracking показывает, насколько системные часы расходятся со временем опорного сервера.
chronyc trackingReference ID : C000027B (192.0.2.123)
Stratum : 4
Ref time (UTC) : Wed Oct 28 19:50:21 2026
System time : 0.000002422 seconds slow of NTP time
Last offset : -0.000002098 seconds
RMS offset : 0.000000981 seconds
Frequency : 6.348 ppm slow
Residual freq : -0.001 ppm
Skew : 0.017 ppm
Root delay : 0.000300815 seconds
Root dispersion : 0.000150780 seconds
Update interval : 16.3 seconds
Leap status : NormalПо строке System time системные часы отставали от времени NTP на 0.000002422 секунды, а Leap status был Normal. Update interval 16.3 секунды — это промежуток между двумя последними обновлениями часов.
Какие серверы опрашивать, задают строки pool и server в /etc/chrony.conf. Если убрать комментарии и пустые строки, останутся только строки настроек.
grep -v "^#" /etc/chrony.conf | grep -v "^$"pool 2.almalinux.pool.ntp.org iburst
sourcedir /run/chrony-dhcp
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
keyfile /etc/chrony.keys
ntsdumpdir /var/lib/chrony
leapsectz right/UTC
logdir /var/log/chrony
server 192.0.2.123 prefer iburst minpoll 4 maxpoll 4Строка pool опрашивает пул NTP AlmaLinux, а prefer в последней строке server — параметр, с которым chronyd выбирает этот сервер раньше других. makestep 1.0 3 — настройка, при которой в первые три обновления после запуска chronyd часы, ушедшие больше чем на 1 секунду, выставляются одним шагом, а дальше подстраиваются постепенно: часы идут чуть быстрее или медленнее. rtcsync заставляет ядро каждые 11 минут записывать системное время в аппаратные часы (по официальной документации).
На сервере Debian 12 с ntpsec то же самое проверили командой ntpq -p. Символ * в начале — опорный сервер, и все три сервера опрашивались каждые 1024 секунды.
ntpq -p remote refid st t when poll reach delay offset jitter
===============================================================================
+203.0.113.43 198.51.100.28 2 u 835 1024 377 184.6893 -0.1018 1.4879
+203.0.113.44 198.51.100.27 2 u 547 1024 377 183.0827 -2.4227 4.0957
*ntp2.example.co 198.51.100.40 2 u 440 1024 377 177.4670 -0.5814 1.70704️⃣ Смена часового пояса с помощью timedatectl
Имена часовых поясов смотрят через list-timezones. Большинство имеет вид Континент/Город, по одному на строку, и на обоих серверах их было 598.
timedatectl list-timezones | head -5Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmaratimedatectl list-timezones | wc -l598Список длинный, поэтому при поиске имени фильтруйте его через grep.
timedatectl list-timezones | grep -i new_yorkAmerica/New_YorkЧасовой пояс меняют, указав после set-timezone имя из списка. Эта команда заменяет ссылку /etc/localtime на новый файл часового пояса, поэтому под обычной учётной записью её запускают с sudo.
sudo timedatectl set-timezone America/New_YorkЯвляется ли /etc/localtime ссылкой на файл часового пояса, проверяют через ls -l.
ls -l /etc/localtimelrwxrwxrwx 1 root root 27 Sep 24 12:52 /etc/localtime -> /usr/share/zoneinfo/Etc/UTCИмя, которого нет в списке, было сразу отклонено ещё до смены часового пояса.
timedatectl set-timezone Mars/OlympusFailed to set time zone: Invalid or not installed time zone 'Mars/Olympus'Смена часового пояса не меняет время системных часов; в новом поясе выводятся только Local time и результат команды date. На сервере, где аппаратные часы идут по UTC, аппаратные часы тоже не меняются (по официальному руководству).
5️⃣ Включение NTP и ручная установка времени с помощью timedatectl
set-ntp true запускает первую службу из списка служб синхронизации и включает её запуск при загрузке. false останавливает службы из списка и отключает их запуск при загрузке (по официальному руководству).
sudo timedatectl set-ntp trueНа сервере Debian 12 без файла списка команда даже с false, то есть текущим значением, завершилась сообщением NTP not supported. Службу, которой нет в списке, например ntpsec, запускают и останавливают напрямую через systemctl.
timedatectl set-ntp falseFailed to set ntp: NTP not supportedЧтобы выставить время вручную, укажите дату и время после set-time. Эта команда выставляет аппаратные часы вместе с системными.
sudo timedatectl set-time '2026-10-28 20:00:00'На сервере Debian 12 ввод значения в неверном формате завершился ошибкой, время не изменилось.
timedatectl set-time badFailed to parse time specification 'bad': Invalid argumentЧтобы на сервере с chrony одним шагом выставить сильно ушедшие часы, используют chronyc makestep.
sudo chronyc makestepmakestep отбрасывает остаток разницы, который подстраивался постепенно, и сразу переводит системные часы на эту величину. Официальная документация предупреждает, что резкая смена времени может повлиять на часть программ, поэтому используйте её, только когда часы ушли слишком далеко, чтобы подстраивать их медленно.
🔢 FAQ & рекомендуемые материалы
Настройки · locale
[Linux] Команда localectl
Команда localectl показывает и меняет язык системы (locale) и раскладку клавиатуры.
Сведения о системе
Команда uptime в Linux (проверка времени работы сервера&средней нагрузки за 1, 5, 15 минут)
Команда uptime показывает, сколько времени работает сервер, и среднюю нагрузку за 1, 5 и 15 минут.
Управление службами
Запуск, остановка и перезапуск Apache: команды и отличие graceful
Команды для запуска, остановки и перезапуска Apache и проверки состояния службы в системах семейства Red Hat и в Ubuntu.
ℹ️ О партнёрских ссылках
Материалы этого сайта содержат партнёрские ссылки. Если посетитель покупает товар или услугу по такой ссылке, сайт получает комиссию от продавца. При этом сумма, которую платит покупатель (при акционных скидках сумма снижается ↓), не увеличивается. Указанные цены, скидки и наличие актуальны на момент написания и могут отличаться, поэтому перед покупкой уточняйте их у продавца. Товары выбираются и оцениваются по нашим собственным критериям, а комиссия не влияет ни на порядок, ни на содержание обзоров.