Как настроить дату и время на сервере Debian 9
Я использую операционную систему Debian GNU/Linux на серверах для хостинга сайтов. Когда летом 2017 года вышла версия 9 Stretch, я обрадовался тому, что для нее в репозиториях «из коробки» был доступен PHP 7. Который, как известно, работает быстрее PHP 5.
В этой статье я покажу, что и с настройкой времени на Debian 9 так же стало лучше, не нужно ничего качать и устанавливать дополнительно, в частности демон ntp или утилиту ntpdate. Все отлично настраивается и работает на стандартном наборе ПО Debian 9 благодаря обновлённой версии systemd, в котором имеется отдельная служба, отвечающая за синхронизацию времени системы по протоколу NTP.
Как настроить время Debian 9
Для начала нужно определиться со своим часовым поясом и установить его, у меня это выглядит так:
# timedatectl set-timezone Europe/Volgograd
Вместо Europe/Volgograd вы должны использовать свои данные, список доступных значений часовых поясов можно посмотреть здесь — https://timezonedb.com/time-zones
Затем нужно отредактировать файл /etc/systemd/timesyncd.conf, указав в нем серверы для синхронизации времени, например так:
# This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # # Entries in this file show the compile time defaults. # You can change settings by editing this file. # Defaults can be restored by simply deleting this file. # # See timesyncd.conf(5) for details. [Time] NTP=ru.pool.ntp.org FallbackNTP=pool.ntp.org
Здесь в опции NTP= указываются приоритетные серверы для синхронизации времени. Если при обращении к ним произойдет сбой, то будут использоваться серверы, указанные в FallbackNTP=.
В качестве серверов для синхронизации времени лучше выбрать те, что ближе к вам находятся, например континентальные или соответствующие вашей стране (в частности, ru.pool.ntp.org для России, ua.pool.ntp.org для Украины и т.д.). Подробнее можно почитать здесь — https://www.ntppool.org/ru/use.html
После внесения изменений в файл конфигурации нужно перезапустить сервис синхронизации времени:
# systemctl restart systemd-timesyncd
Состояние настройки времени можно проверить следующей командой:
# timedatectl status
Результат ниже говорит о том, что часы на моем сервере настроены верно и синхронизируются по протоколу NTP.
Local time: Tue 2018-12-18 16:36:33 +04 Universal time: Tue 2018-12-18 12:36:33 UTC RTC time: Tue 2018-12-18 12:36:33 Time zone: Europe/Volgograd (+04, +0400) Network time on: yes NTP synchronized: yes RTC in local TZ: no
здесь,
Local time — это местное время;
Universal time — время UTC (всемирное координированное время). Это отправная точка для отсчета всех часовых поясов;
RTC time — время в аппаратных часах сервера (компьютера);
Time Zone — ваш часовой пояс;
Network time on — указывает, включен ли ntp-клиент, входящий в состав systemd;
NTP synchronized — сообщает, синхронизировано ли время с ntp-сервером;
RTC in local TZ — показывает, какое время хранится в аппаратных часах: локальное или всемирное. При этом, yes означает локальное время, no — всемирное;
Информация для новичков
Меня иногда спрашивают, где вводить (выполнять) приводимые мною команды?
Все приведенные в данной статье команды нужно выполнять в консоли сервера от имени привилегированного пользователя (root). Знак # (октоторп, решетка, диез, хеш) как раз говорит об этом.
В качестве консольного клиента для удаленного подключения к серверам я использую программу PuTTY. Это бесплатный SSH и Telnet клиент для Windows и Unix платформ.
Выводы о настройке времени в Debian 9
В отличии от предыдущих версий в Debian 9 все просто, не нужно устанавливать никаких дополнительных программ. Синхронизация времени работает «из коробки» и настраивается за 2 минуты.
Благодарности
При написании статьи были использованы следующие источники: