- Introduction
- Prerequisites
- Step 1 — Navigating Basic Time Commands
- Step 2 — Checking the Status of ntpd
- Step 3 — Switching to systemd-timesyncd
- Conclusion
- Introduction
- Prerequisites
- Navigating Basic Time Commands
- Checking the Status of ntpd
- Switching to systemd-timesyncd
- Conclusion
- Требования
- 1: Основные команды для управления временем
- 2: Состояние ntpd
- 3: Переход с ntpd на systemd-timesyncd
- Заключение
- Требования
- Основные команды для управления временем
- Состояние ntpd
- Переход с ntpd на systemd-timesyncd
- Заключение
- Настройка часового пояса
- Синхронизация времени
- Получение списка NTP серверов по DHCP
- Служба синхронизации времени
- Ещё один способ задать часовой пояс
- Итог
- Клиент синхронизации времени на SystemD
- Настройка клиентских серверов
- Итог
- Вступление
- Предпосылки
- Шаг 1 — Навигация по основным временным командам
- Шаг 2 — Проверка статуса ntpd
- Шаг 3 — Переключение на systemd-timesyncd
- Заключение
- Вступление
- Предпосылки
- Навигация по основным временным командам
- Проверка статуса ntpd
- Переключение на systemd-timesyncd
- Заключение
Introduction
Accurate timekeeping has become a critical component of modern software deployments. Whether it’s making sure logs are recorded in the right order or database updates are applied correctly, out-of-sync time can cause errors, data corruption, and other difficult issues to debug.
Debian 10 has time synchronization built in and activated by default using the standard ntpd time server, provided by the ntp package. In this article we will look at some basic time-related commands, verify that ntpd is active and connected to peers, and learn how to activate the alternate systemd-timesyncd network time service.
Prerequisites
Before starting this tutorial, you will need a Debian 10 server with a non-root, sudo-enabled user, as described in this Debian 10 server setup tutorial.
Step 1 — Navigating Basic Time Commands
Wed 31 Jul 2019 06:03:19 PM UTCMost often your server will default to the UTC time zone, as highlighted in the above output. UTC is Coordinated Universal Time, the time at zero degrees longitude. Consistently using Universal Time reduces confusion when your infrastructure spans multiple time zones.
If you have different requirements and need to change the time zone, you can use the timedatectl command to do so.
First, list the available time zones:
- timedatectl list-timezones
A list of time zones will print to your screen. You can press SPACE to page down, and b to page up. Once you find the correct time zone, make note of it then type q to exit the list.
Now set the time zone with timedatectl set-timezone, making sure to replace the highlighted portion below with the time zone you found in the list. You’ll need to use sudo with timedatectl to make this change:
- timedatectl set-timezone America/New_York
You can verify your changes by running date again:
Wed 31 Jul 2019 02:08:43 PM EDTThe time zone abbreviation should reflect the newly chosen value.
Now that we know how to check the clock and set time zones, let’s make sure our time is being synchronized properly.
Step 2 — Checking the Status of ntpd
By default, Debian 10 runs the standard ntpd server to keep your system time synchronized with a pool of external time servers. We can check that it’s running with the systemctl command:
- systemctl status ntp
● ntp.service - Network Time Service Loaded: loaded (/lib/systemd/system/ntp.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-07-31 13:57:08 EDT; 17min ago Docs: man:ntpd(8) Main PID: 429 (ntpd) Tasks: 2 (limit: 1168) Memory: 2.1M CGroup: /system.slice/ntp.service └─429 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 106:112
. . .The active (running) status indicates that ntpd started up properly. To get more information about the status of ntpd we can use the ntpq command:
- ntpq
remote refid st t when poll reach delay offset jitter
============================================================================== 0.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 1.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 2.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 3.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
+208.67.72.50 152.2.133.55 2 u 12 64 377 39.381 1.696 0.674
+198.46.223.227 204.9.54.119 2 u 6 64 377 22.671 3.536 1.818
-zinc.frizzen.ne 108.61.56.35 3 u 43 64 377 12.012 1.268 2.553
-pyramid.latt.ne 204.123.2.72 2 u 11 64 377 69.922 2.858 0.604
+nu.binary.net 128.252.19.1 2 u 10 64 377 35.362 3.148 0.587
#107.155.79.108 129.7.1.66 2 u 65 64 377 42.380 1.638 1.014
+t1.time.bf1.yah 98.139.133.62 2 u 6 64 377 11.233 3.305 1.118
*sombrero.spider 129.6.15.30 2 u 47 64 377 1.304 2.941 0.889
+hydrogen.consta 209.51.161.238 2 u 45 64 377 1.830 2.280 1.026
-4.53.160.75 142.66.101.13 2 u 42 64 377 29.077 2.997 0.789
#horp-bsd01.horp 146.186.222.14 2 u 39 64 377 16.165 4.189 0.717
-ntpool1.603.new 204.9.54.119 2 u 46 64 377 27.914 3.717 0.939ntpq is a query tool for ntpd. The -p flag asks for information about the NTP servers (or peers) ntpd is connected to. Your output will be slightly different, but should list the default Debian pool servers plus a few others. Bear in mind that it can take a few minutes for ntpd to establish connections.
Step 3 — Switching to systemd-timesyncd
It is possible to use systemd’s built-in timesyncd component to replace ntpd. timesyncd is a lighter-weight alternative to ntpd that is more integrated with systemd. Note, however, that it doesn’t support running as a time server, and it is slightly less sophisticated in the techniques it uses to keep your system time in sync. If you are running complex real-time distributed systems, you may want to stick with ntpd.
To use timesyncd, we must first uninstall ntpd:
- purge ntp
Then, start up the timesyncd service:
- systemctl start systemd-timesyncd
Finally, check the status of the service to make sure it’s running:
- systemctl status systemd-timesyncd
● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Drop-In: /usr/lib/systemd/system/systemd-timesyncd.service.d └─disable-with-time-daemon.conf Active: active (running) since Wed 2019-07-31 14:21:37 EDT; 6s ago Docs: man:systemd-timesyncd.service(8) Main PID: 1681 (systemd-timesyn) Status: "Synchronized to time server for the first time 96.245.170.99:123 (0.debian.pool.ntp.org)." Tasks: 2 (limit: 1168) Memory: 1.3M CGroup: /system.slice/systemd-timesyncd.service └─1681 /lib/systemd/systemd-timesyncdWe can use timedatectl to print out systemd’s current understanding of the time:
- timedatectl
Local time: Wed 2019-07-31 14:22:15 EDT Universal time: Wed 2019-07-31 18:22:15 UTC RTC time: n/a Time zone: America/New_York (EDT, -0400)System clock synchronized: yes NTP service: active RTC in local TZ: noThis prints out the local time, universal time (which may be the same as local time, if you didn’t switch from the UTC time zone), and some network time status information. System clock synchronized: yes means that the time has been successfully synced, and NTP service: active means that timesyncd is enabled and running.
Conclusion
In this article we’ve shown how to view the system time, change time zones, work with ntpd, and switch to systemd’s timesyncd service. If you have more sophisticated timekeeping needs than what we’ve covered here, you might refer to the offical NTP documentation, and also take a look at the NTP Pool Project, a global group of volunteers providing much of the world’s NTP infrastructure.
Introduction
Accurate timekeeping has become a critical component of modern software deployments. Whether it’s making sure logs are recorded in the right order or database updates are applied correctly, out-of-sync time can cause errors, data corruption, and other hard to debug issues.
Debian 9 has time synchronization built in and activated by default using the standard ntpd time server, provided by the ntp package. In this article we will look at some basic time-related commands, verify that ntpd is active and connected to peers, and learn how to activate the alternate systemd-timesyncd network time service.
Prerequisites
Before starting this tutorial, you will need a Debian 9 server with a non-root, sudo-enabled user, as described in this Debian 9 server setup tutorial.
Navigating Basic Time Commands
Tue Sep 4 17:51:49 UTC 2018Most often your server will default to the UTC time zone, as highlighted in the above output. UTC is Coordinated Universal Time, the time at zero degrees longitude. Consistently using Universal Time reduces confusion when your infrastructure spans multiple time zones.
If you have different requirements and need to change the time zone, you can use the timedatectl command to do so.
First, list the available time zones:
- timedatectl list-timezones
A list of time zones will print to your screen. You can press SPACE to page down, and b to page up. Once you find the correct time zone, make note of it then type q to exit the list.
Now set the time zone with timedatectl set-timezone, making sure to replace the highlighted portion below with the time zone you found in the list. You’ll need to use sudo with timedatectl to make this change:
- timedatectl set-timezone America/New_York
You can verify your changes by running date again:
Tue Sep 4 13:52:57 EDT 2018The time zone abbreviation should reflect the newly chosen value.
Now that we know how to check the clock and set time zones, let’s make sure our time is being synchronized properly.
Checking the Status of ntpd
By default, Debian 9 runs the standard ntpd server to keep your system time synchronized with a pool of external time servers. We can check that it’s running with the systemctl command:
- systemctl status ntp
● ntp.service - LSB: Start NTP daemon Loaded: loaded (/etc/init.d/ntp; generated; vendor preset: enabled) Active: active (running) since Tue 2018-09-04 15:07:03 EDT; 30min ago Docs: man:systemd-sysv-generator(8) Process: 876 ExecStart=/etc/init.d/ntp start (code=exited, status=0/SUCCESS) Tasks: 2 (limit: 4915) CGroup: /system.slice/ntp.service └─904 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 105:109
. . .The active (running) status indicates that ntpd started up properly. To get more information about the status of ntpd we can use the ntpq command:
- ntpq
remote refid st t when poll reach delay offset jitter
============================================================================== 0.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 1.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 2.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 3.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
-eterna.binary.n 204.9.54.119 2 u 240 256 377 35.392 0.142 0.211
-static-96-244-9 192.168.10.254 2 u 60 256 377 10.242 1.297 2.412
+minime.fdf.net 83.157.230.212 3 u 99 256 377 24.042 0.128 0.250
*t1.time.bf1.yah 98.139.133.62 2 u 31 256 377 11.112 0.621 0.186
+x.ns.gin.ntt.ne 249.224.99.213 2 u 108 256 377 1.290 -0.073 0.132
-ord1.m-d.net 142.66.101.13 2 u 473 512 377 19.930 -1.764 0.293ntpq is a query tool for ntpd. The -p flag asks for information about the NTP servers (or peers) ntpd is connected to. Your output will be slightly different, but should list the default Debian pool servers plus a few others. Bear in mind that it can take a few minutes for ntpd to establish connections.
Switching to systemd-timesyncd
It is possible to use systemd’s built-in timesyncd component to replace ntpd. timesyncd is a lighter-weight alternative to ntpd that is more integrated with systemd. Note however that it doesn’t support running as a time server, and it is slightly less sophisticated in the techniques it uses to keep your system time in sync. If you are running complex real-time distributed systems, you may want to stick with ntpd.
To use timesyncd, we must first uninstall ntpd:
- purge ntp
Then, start up the timesyncd service:
- systemctl start systemd-timesyncd
Finally, check the status of the service to make sure it’s running:
- systemctl status systemd-timesyncd
● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/systemd-timesyncd.service.d └─disable-with-time-daemon.conf Active: active (running) since Tue 2018-09-04 16:14:23 EDT; 1s ago Docs: man:systemd-timesyncd.service(8) Main PID: 3399 (systemd-timesyn) Status: "Synchronized to time server 198.60.22.240:123 (0.debian.pool.ntp.org)." Tasks: 2 (limit: 4915) CGroup: /system.slice/systemd-timesyncd.service └─3399 /lib/systemd/systemd-timesyncdWe can use timedatectl to print out systemd’s current understanding of the time:
- timedatectl
Local time: Tue 2018-09-04 16:15:34 EDT Universal time: Tue 2018-09-04 20:15:34 UTC RTC time: Tue 2018-09-04 20:15:33 Time zone: America/New_York (EDT, -0400) Network time on: yesNTP synchronized: yes RTC in local TZ: noThis prints out the local time, universal time (which may be the same as local time, if you didn’t switch from the UTC time zone), and some network time status information. Network time on: yes means that timesyncd is enabled, and NTP synchronized: yes indicates that the time has been successfully synced.
Conclusion
In this article we’ve shown how to view the system time, change time zones, work with ntpd, and switch to systemd’s timesyncd service. If you have more sophisticated timekeeping needs than what we’ve covered here, you might refer to the offical NTP documentation, and also take a look at the NTP Pool Project, a global group of volunteers providing much of the world’s NTP infrastructure.
4 сентября, 2019 12:16 пп
Точное хронометрирование – очень важное условие корректной работы многих современных программ. Из-за неправильного времени на сервере могут возникнуть ошибки, и данные могут быть повреждены (например, при обновлении БД или логировании). Такие ошибки сложно исправить.
В Debian 10 синхронизация времени встроена и включена по умолчанию; за неё отвечает стандартный сервер времени ntpd, предоставляемый пакетом ntp. Данный мануал ознакомит вас с базовыми командами для управления временем, научит проверять состояние ntpd и устанавливать другие сервисы сетевого времени.
Требования
Для работы вам понадобится сервер Debian 10 и пользователь с доступом к sudo (данный мануал нужно выполнить в сессии этого пользователя). Все необходимые инструкции по настройке вы найдете здесь.
1: Основные команды для управления временем
date – базовая команда для определения времени на сервере. Любой пользователь может использовать её, чтобы узнать дату и время:
date
Wed 31 Jul 2019 06:03:19 PM UTC
Как правило, по умолчанию серверы используют часовой пояс UTC (Coordinated Universal Time) – это всемирное координированное время. UTC последовательно устанавливает время на серверах и минимизирует ошибки в случае если сервера инфраструктуры находятся в разных часовых поясах.
Чтобы изменить часовой пояс, используйте команду timedatectl.
Сначала запросите список доступных поясов:
Перемещаться вниз по списку можно с помощью пробела, а вверх – с помощью b. Выберите часовой пояс, запишите его и нажмите q, чтобы закрыть список.
После этого установите часовой пояс с помощью timedatectl set-timezone. Используйте следующую команду, указав в ней необходимый часовой пояс:
sudo timedatectl set-timezone America/New_York
Примечание: Вместо America/New_York укажите необходимый часовой пояс.
Убедитесь, что пояс изменился:
date
Wed 31 Jul 2019 02:08:43 PM EDT
Аббревиатура часового пояса отражает новое значение.
2: Состояние ntpd
По умолчанию для синхронизации времени с пулом внешних серверов система Debian 10 использует стандартный сервер ntpd. Проверить его состояние можно с помощью команды systemctl:
sudo systemctl status ntp
ntp.service - Network Time Service
Loaded: loaded (/lib/systemd/system/ntp.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-07-31 13:57:08 EDT; 17min ago
Docs: man:ntpd(8)
Main PID: 429 (ntpd)
Tasks: 2 (limit: 1168)
Memory: 2.1M
CGroup: /system.slice/ntp.service
└─429 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 106:112
. . .
Строка active (running)указывает, что сервер работает правильно. Получить больше информации можно с помощью ntpq:
ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
0.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
1.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
2.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
3.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
+208.67.72.50 152.2.133.55 2 u 12 64 377 39.381 1.696 0.674
+198.46.223.227 204.9.54.119 2 u 6 64 377 22.671 3.536 1.818
-zinc.frizzen.ne 108.61.56.35 3 u 43 64 377 12.012 1.268 2.553
-pyramid.latt.ne 204.123.2.72 2 u 11 64 377 69.922 2.858 0.604
+nu.binary.net 128.252.19.1 2 u 10 64 377 35.362 3.148 0.587
#107.155.79.108 129.7.1.66 2 u 65 64 377 42.380 1.638 1.014
+t1.time.bf1.yah 98.139.133.62 2 u 6 64 377 11.233 3.305 1.118
*sombrero.spider 129.6.15.30 2 u 47 64 377 1.304 2.941 0.889
+hydrogen.consta 209.51.161.238 2 u 45 64 377 1.830 2.280 1.026
-4.53.160.75 142.66.101.13 2 u 42 64 377 29.077 2.997 0.789
#horp-bsd01.horp 146.186.222.14 2 u 39 64 377 16.165 4.189 0.717
-ntpool1.603.new 204.9.54.119 2 u 46 64 377 27.914 3.717 0.939
ntpq – это инструмент запросов ntpd. Опция –p собирает информацию о серверах NTP, к которым подключен ntpd. Ваш вывод будет немного отличаться, но в нем будут стандартные серверы пула Debian и несколько других серверов. У ntpd может уйти несколько минут на установку соединения.
3: Переход с ntpd на systemd-timesyncd
Для замены ntpd можно использовать встроенный демон timesyncd – это простая альтернатива ntpd, интегрированная с systemd. Однако при переходе следует учитывать, что timesyncd не работает в качестве сервера времени и использует менее сложные методы синхронизации системного времени. Если вы используете сложные распределенные системы реального времени, лучше оставаться с ntpd.
Чтобы перейти на timesyncd, сначала удалите ntpd.
sudo apt purge ntp
Затем запустите сервис timesyncd:
sudo systemctl start systemd-timesyncd
Проверьте его состояние:
sudo systemctl status systemd-timesyncd
systemd-timesyncd.service - Network Time Synchronization
Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
Drop-In: /usr/lib/systemd/system/systemd-timesyncd.service.d
└─disable-with-time-daemon.conf
Active: active (running) since Wed 2019-07-31 14:21:37 EDT; 6s ago
Docs: man:systemd-timesyncd.service(8)
Main PID: 1681 (systemd-timesyn)
Status: "Synchronized to time server for the first time 96.245.170.99:123 (0.debian.pool.ntp.org)."
Tasks: 2 (limit: 1168)
Memory: 1.3M
CGroup: /system.slice/systemd-timesyncd.service
└─1681 /lib/systemd/systemd-timesyncd
Чтобы получить сведения о текущем восприятии времени systemd, введите:
timedatectl
Local time: Wed 2019-07-31 14:22:15 EDT
Universal time: Wed 2019-07-31 18:22:15 UTC
RTC time: n/a
Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Команда выведет местное время, универсальное время (которое может совпадать с местным, если вы не переключались с часового пояса UTC) и информацию о времени в сети. System clock synchronized: yes означает, что время было успешно синхронизировано. А NTP service: active указывает, что timesyncd работает.
Заключение
Теперь вы умеете управлять системным временем сервера Debian 10: просматривать текущее время, менять часовой пояс, переходить с ntpd на сервис timesyncd.
Больше информации можно найти в документации NTP или на сайте проекта NTP Pool.
Tags: Debian, Debian 10, ntpd, OpenNTPd
19 октября, 2018 11:43 дп
Точное хронометрирование – очень важный аспект корректной работы многих современных программ. Из-за неправильного времени на сервере могут возникнуть ошибки, и данные могут быть повреждены (например, при обновлении БД или логировании).
В Debian 9 синхронизация времени встроена и включена по умолчанию; за неё отвечает стандартный сервер ntpd, предоставляемый пакетом ntp. Данный мануал ознакомит вас с базовыми командами для управления временем, научит проверять состояние ntpd и устанавливать другие сервисы сетевого времени.
Требования
Для работы вам понадобится сервер Debian 9 и пользователь с доступом к sudo (мануал нужно выполнить в сессии этого пользователя). Все необходимые инструкции по настройке вы найдете здесь.
Основные команды для управления временем
date – основная команда для определения времени на сервере. Любой пользователь может использовать её, чтобы узнать дату и время:
date
Tue Sep 4 17:51:49 UTC 2018
Обычно по умолчанию серверы используют часовой пояс UTC (Coordinated Universal Time) – это всемирное координированное время. UTC последовательно устанавливает время на серверах и минимизирует ошибки в случае если сервера инфраструктуры находятся в разных часовых поясах.
Чтобы изменить часовой пояс, используйте команду timedatectl.
Запросите список доступных поясов:
Перемещаться вниз по списку можно с помощью клавиши пробела, а вверх – с помощью b. Выберите часовой пояс, запишите его и нажмите q, чтобы закрыть список.
Теперь установите часовой пояс с помощью timedatectl set-timezone. Используйте следующую команду, указав в ней требуемый часовой пояс:
sudo timedatectl set-timezone America/New_York
Примечание: Вместо America/New_York укажите необходимый часовой пояс.
Убедитесь, что пояс изменился:
date
Tue Sep 4 13:52:57 EDT 2018
Аббревиатура часового пояса будет отражать новое значение.
Состояние ntpd
По умолчанию для синхронизации времени с пулом внешних серверов Debian 9 использует стандартный сервер ntpd. Проверить его состояние можно с помощью systemctl:
sudo systemctl status ntp
ntp.service - LSB: Start NTP daemon
Loaded: loaded (/etc/init.d/ntp; generated; vendor preset: enabled)
Active: active (running) since Tue 2018-09-04 15:07:03 EDT; 30min ago
Docs: man:systemd-sysv-generator(8)
Process: 876 ExecStart=/etc/init.d/ntp start (code=exited, status=0/SUCCESS)
Tasks: 2 (limit: 4915)
CGroup: /system.slice/ntp.service
└─904 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 105:109
. . .
Строка active (running)указывает, что сервер работает правильно. Получить больше информации можно с помощью команды ntpq:
ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
0.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
1.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
2.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
3.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
-eterna.binary.n 204.9.54.119 2 u 240 256 377 35.392 0.142 0.211
-static-96-244-9 192.168.10.254 2 u 60 256 377 10.242 1.297 2.412
+minime.fdf.net 83.157.230.212 3 u 99 256 377 24.042 0.128 0.250
*t1.time.bf1.yah 98.139.133.62 2 u 31 256 377 11.112 0.621 0.186
+x.ns.gin.ntt.ne 249.224.99.213 2 u 108 256 377 1.290 -0.073 0.132
-ord1.m-d.net 142.66.101.13 2 u 473 512 377 19.930 -1.764 0.293
ntpq – это инструмент запросов ntpd. Флаг –p собирает информацию о серверах NTP, к которым подключен ntpd. Ваш вывод будет немного другим, но в нем будут стандартные серверы пула Debian и несколько других серверов. У ntpd может уйти несколько минут на установку соединения.
Переход с ntpd на systemd-timesyncd
Для замены ntpd можно использовать встроенный демон timesyncd systemd. timesyncd – простая альтернатива ntpd, интегрированная с systemd. Однако при переходе следует учитывать, что timesyncd не работает в качестве сервера времени и использует менее сложные методы синхронизации системного времени. Если вы используете сложные распределенные системы реального времени, лучше оставаться с ntpd.
Чтобы перейти на timesyncd, сначала удалите ntpd.
sudo apt purge ntp
Затем запустите timesyncd:
sudo systemctl start systemd-timesyncd
Проверьте его состояние:
sudo systemctl status systemd-timesyncd
systemd-timesyncd.service - Network Time Synchronization
Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/systemd-timesyncd.service.d
└─disable-with-time-daemon.conf
Active: active (running) since Tue 2018-09-04 16:14:23 EDT; 1s ago
Docs: man:systemd-timesyncd.service(8)
Main PID: 3399 (systemd-timesyn)
Status: "Synchronized to time server 198.60.22.240:123 (0.debian.pool.ntp.org)."
Tasks: 2 (limit: 4915)
CGroup: /system.slice/systemd-timesyncd.service
└─3399 /lib/systemd/systemd-timesyncd
Чтобы получить сведения о текущем восприятии времени systemd, введите:
timedatectl
Local time: Tue 2018-09-04 16:15:34 EDT
Universal time: Tue 2018-09-04 20:15:34 UTC
RTC time: Tue 2018-09-04 20:15:33
Time zone: America/New_York (EDT, -0400)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no
Команда выведет местное время, универсальное время (которое может совпадать с местным, если вы не переключались с часового пояса UTC) и информацию о состоянии времени в сети. Network time on: yes означает, что сервис timesyncd включен, а NTP synchronized: yes указывает, что время было успешно синхронизировано.
Заключение
Теперь вы умеете управлять системным временем сервера Debian 9.
Больше информации можно найти в документации NTP или на сайте проекта NTP Pool.
Tags: Debian, Debian 9, ntpd, timesyncd
В статье мы разберёмся с тем, как настроить время в Linux. Посмотрим текущее время, укажем часовой пояс и настроим синхронизацию времени.
Чтобы посмотреть текущее время на вашем сервере linux воспользуйтесь командой date:
alex@ubu:~$ date Ср 13 июл 2022 13:40:27 UTC
В выводе мы видим не только дату и время, но также и часовой пояс. Сейчас вместо часового пояса используется UTC.
Также можно использовать другую команду – timedatectl:
alex@s-ubu:~$ timedatectl Local time: Ср 2022-07-20 07:56:41 UTC Universal time: Ср 2022-07-20 07:56:41 UTC RTC time: Ср 2022-07-20 07:56:41 Time zone: UTC (UTC, +0000) System clock synchronized: yes NTP service: active RTC in local TZ: no
Без опций она покажет текущее время, часовой пояс, а также другую информацию связанную с синхронизацией времени. Например в примере выше видно что время успешно синхронизуется (System clock synchronized: yes) и синхронизация настроена (NTP service: active).
С помощью этой же утилиты (timedatectl) мы будем настраивать часовой пояс и следить за синхронизацией времени, об этом чуть ниже.
Настройка часового пояса
Вообще часовой пояс в системе определяется файлом /etc/localtime, который является символьной ссылкой (про ссылки я уже писал):
alex@ubu:~$ ls -l /etc/localtime lrwxrwxrwx 1 root root 27 апр 21 01:01 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC
Можно вручную отредактировать эту ссылку и указать нужный часовой пояс:
alex@ubu:~$ sudo ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Или воспользоваться утилитой timedatectl:
alex@ubu:~$ sudo timedatectl set-timezone Europe/Moscow
Если вас не устраивает выбранный мною часовой пояс, то можете посмотреть список поддерживаемых часовых поясов так:
alex@ubu:~$ timedatectl list-timezones
Проверим время и часовой пояс:
alex@ubu:~$ timedatectl Local time: Ср 2022-07-13 16:50:39 MSK Universal time: Ср 2022-07-13 13:50:39 UTC RTC time: Ср 2022-07-13 13:50:39 Time zone: Europe/Moscow (MSK, +0300) System clock synchronized: yes NTP service: active RTC in local TZ: no
Как видим, часовой пояс уже изменился на Europe/Moscow (MSK, +0300).
Синхронизация времени
В настоящее время очень важно чтобы часы на ваших серверах были синхронизированы. Очень много систем полагаются на время, например:
- если часы на сервере kerberos и клиенте расходятся более чем на 5 минут, то клиенты не смогут пройти проверку подлинности на сервере;
- в различных финансовых системах транзакции должны выполняться в надлежащем порядке, поэтому серверы выполняющую эту работу должны быть строго синхронизированы по времени;
- правильное время также нужно для выполнения автоматизированный задач;
- системные журналы также полагаются на время.
Получение списка NTP серверов по DHCP
Если ваш сервер получает сетевые настройки по dhcp, то он может получить список NTP серверов (серверов времени для синхронизации). Это настраивается в файле /etc/dhcp/dhclient.conf. В строке request мы определяем что хотим получать от сервера dhcp. И здесь может быть указан параметр ntp-servers:
alex@ubu:~$ cat /etc/dhcp/dhclient.conf # часть текста пропустил request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers; # часть текста пропустил
Само собой, вы получите список ntp-серверов, только в том случае если ваш dhcp сервер их распространяет.
Служба синхронизации времени
В системах работающих на systemd работает специальная служба синхронизации времени systemd-timesyncd.service. Можем посмотреть её статус:
alex@ubu:~$ systemctl status systemd-timesyncd.service ● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2022-07-13 17:08:06 MSK; 23s ago Docs: man:systemd-timesyncd.service(8) Main PID: 399 (systemd-timesyn) Status: "Initial synchronization to time server 192.168.0.16:123 (192.168.0.16)." Tasks: 2 (limit: 2241) Memory: 1.3M CPU: 63ms CGroup: /system.slice/systemd-timesyncd.service └─399 /lib/systemd/systemd-timesyncd
Видим что синхронизация идет с сервером по адресу 192.168.0.16. У меня этот адрес прилетел по dhcp.
Обратите внимание, что служба эта стартует по запросу и останавливается после синхронизации времени!
Давайте выключим получение ntp серверов по dhcp:
alex@ubu:~$ sudo nano /etc/dhcp/dhclient.conf # в этой строке удалите опцию ntp-servers request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes;
Вы можете использовать следующий пул серверов времени для синхронизации – https://www.pool.ntp.org/zone/ru. Укажем первый сервер из этого пула в конфиге /etc/systemd/timesyncd.conf:
alex@ubu:~$ sudo nano /etc/systemd/timesyncd.conf [Time] NTP=0.ru.pool.ntp.org FallbackNTP=ntp.ubuntu.com RootDistanceMaxSec=5 PollIntervalMinSec=32 PollIntervalMaxSec=2048
В конфиге используются следующие опции:
- NTP – укажите 1 или несколько ntp серверов. Если хотите указать несколько серверов, разделяйте их пробелами;
- FallbackNTP – укажите 1 или несколько резервных ntp серверов;
- RootDistanceMaxSec – максимальное время в секундах, за которое пакет от сервера эталонного времени должен доходить до сервера к которому мы подлкючены;
- PollIntervalMinSec и PollIntervalMaxSec – минимальный и максимальный интервалы синхронизаций времени. Вначале используется минимальный интервал, а затем он увеличивается если система видит что локальное время со временем ntp-сервера не расходится.
После правки перезапустите службу синхронизаций времени:
alex@ubu:~$ sudo systemctl restart systemd-timesyncd.service
Дополнительно можно посмотреть информацию по синхронизации времени с помощью следующей команды:
alex@ubu:~$ timedatectl timesync-status Server: 91.209.94.10 (0.ru.pool.ntp.org) Poll interval: 34min 8s (min: 32s; max 34min 8s) Leap: normal Version: 4 Stratum: 2 Reference: 3EE70662 Precision: 1us (-25) Root distance: 4.012ms (max: 5s) Offset: -5.502ms Delay: 11.084ms Jitter: 2.886ms Packet count: 7 Frequency: +15,118ppm
Здесь мы видим адрес ntp-сервера, а также какой интервал синхронизации (34min 8s) использовался последний раз.
То-есть служба синхронизации времени systemd-timesyncd.service будет запускаться и останавливаться сейчас примерно раз в 34 минуты. Поэтому если увидите, что служба в состоянии loaded и inactive, не пугайтесь. По логам видно что она периодически запускается:
alex@ubu:~$ systemctl status systemd-timedated ○ systemd-timedated.service - Time & Date Service Loaded: loaded (/lib/systemd/system/systemd-timedated.service; static) Active: inactive (dead) Docs: man:systemd-timedated.service(8) man:localtime(5) man:org.freedesktop.timedate1(5) июл 19 15:54:24 s-ubu systemd[1]: systemd-timedated.service: Deactivated successfully. июл 19 15:55:41 s-ubu systemd[1]: Starting Time & Date Service... июл 19 15:55:41 s-ubu systemd[1]: Started Time & Date Service. июл 19 15:56:35 s-ubu systemd[1]: systemd-timedated.service: Deactivated successfully. июл 19 16:05:45 s-ubu systemd[1]: Starting Time & Date Service... июл 19 16:05:45 s-ubu systemd[1]: Started Time & Date Service. июл 19 16:06:15 s-ubu systemd[1]: systemd-timedated.service: Deactivated successfully. июл 19 16:28:42 s-ubu systemd[1]: Starting Time & Date Service... июл 19 16:28:42 s-ubu systemd[1]: Started Time & Date Service. июл 19 16:30:17 s-ubu systemd[1]: systemd-timedated.service: Deactivated successfully.
- Deactivated successfully – служба останавливается;
- Starting Time & Date Service… – служба стартует;
- Started Time & Date Service – служба стартовала;
- и так по кругу.
Ещё один способ задать часовой пояс
С помощью команды dpkg-reconfigure tzdata также можно задать часовой пояс:
alex@ubu:~$ sudo dpkg-reconfigure tzdata
После выполнения вы можете использовать псевдографический интерфейс для настройки часового пояса. Вначале выберите географический район:


Итог
Теперь вы знаете как настроить время на сервере Debian или Ubuntu. Мы научились устанавливать часовой пояс и настраивать синхронизации времени с ntp серверами.
Узнали про следующие команды:
- date – покажет текущую дату, время и часовой пояс;
- timedatectl – покажет тоже самое что и date + синхронизуется ли время;
- timedatectl list-timezones – покажет список поддерживаемых часовых поясов;
- timedatectl set-timezone Europe/Moscow – установить часовой пояс Europe/Moscow;
- timedatectl timesync-status – покажет с какими ntp-серверами синхронизуется время и как часто;
- dpkg-reconfigure tzdata – установить часовой пояс.
Познакомились с файлами:
- /etc/localtime – является символической ссылкой и содержит информацию о текущем часовом поясе;
- /etc/dhcp/dhclient.conf – настройки dhcp-клиента, который умеет запрашивать ntp-сервера для синхронизации времени;
- /etc/systemd/timesyncd.conf – настройки службы синхронизации времени.
Узнали про службу синхронизации времени:
- systemd-timedated.service – стартует по запросу, а после синхронизации времени отключается до следующей синхронизации.

Дата, время и часовой пояс в Linux
В статье мы разберёмся с тем, как настроить время в Linux. Посмотрим текущее время, укажем часовой пояс и настроим синхронизацию времени
В этой статье я покажу вам как установить сервер точного времени Chrony на Debian 11, а также как настроить и использовать его.
Клиент синхронизации времени на SystemD
В системах базирующихся на SystemD клиентом синхронизации времени, по умолчанию, выступает служба systemd-timesyncd.
$ sudo systemctl status systemd-timesyncd ● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2022-05-05 12:05:00 MSK; 2s ago Docs: man:systemd-timesyncd.service(8) Main PID: 60424 (systemd-timesyn) Status: "Initial synchronization to time server 91.189.94.4:123 (ntp.ubuntu.com)." Tasks: 2 (limit: 2274) Memory: 1.4M CGroup: /system.slice/systemd-timesyncd.service └─60424 /lib/systemd/systemd-timesyncd
Эта служба использует конфиг /etc/systemd/timesyncd.conf, именно в нём прописаны NTP сервера с которыми сервер синхронизирует своё время.
$ cat /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= #FallbackNTP=ntp.ubuntu.com #RootDistanceMaxSec=5 #PollIntervalMinSec=32 #PollIntervalMaxSec=2048

Сервера времени называют NTP серверами, так как они используют NTP протокол. Для Linux таких серверов несколько, например chrony, ntp, openntpd. Я покажу вам первый, так как это самый современный NTP сервер.
В Ubuntu и Debian – chrony устанавливается из стандартных репозиториев:
# apt install chrony
При установке этого пакета будет создана одноименная служба, которая будет запущена и помещена в автозапуск. А служба systemd-timesyncd будет выключена.
Конфигом для службы является файл /etc/chrony/chrony.conf. В нем нужно закомментировать используемый пул и добавить свои NTP сервера. А также можно указать разрешённую сеть для клиентов:
# nano /etc/chrony/chrony.conf server 0.ru.pool.ntp.org iburst server 1.ru.pool.ntp.org iburst server 2.ru.pool.ntp.org iburst server 3.ru.pool.ntp.org iburst allow 192.168.0.0/24
После настройки сервера нужно перезапустить службу:
# systemctl restart chrony
Проверим источники времени. Опция -N указывает что нужно вывести оригинальные имена источников времени:
# chronyc -N sources MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^- 0.ru.pool.ntp.org 2 8 377 197 +1306us[+1337us] +/- 134ms ^- 1.ru.pool.ntp.org 2 7 377 524 +35ms[ +35ms] +/- 100ms ^- 2.ru.pool.ntp.org 2 7 377 67 -476us[ -476us] +/- 81ms ^* 3.ru.pool.ntp.org 1 9 377 67 -197us[ -164us] +/- 14ms
В выводе, сервер обозначенный звездочкой (в моём случае 3.ru.pool.ntp.org) является наилучшим и текущем сервером для синхронизации времени.
Сервер времени chrony, также как и другие NTP сервера слушает порт udp 123:
$ sudo ss -ulpn | grep chronyd
UNCONN 0 0 127.0.0.1:323 0.0.0.0:* users:(("chronyd",pid=1507,fd=5))
UNCONN 0 0 0.0.0.0:123 0.0.0.0:* users:(("chronyd",pid=1507,fd=7))
UNCONN 0 0 [::1]:323 [::]:* users:(("chronyd",pid=1507,fd=6))Вдобавок к порту 123 вы можете заметить ещё один порт – udp 323. Он используется для того чтобы утилита chronyc подключалась к процессу chronyd. А именно с помощью этой утилиты мы смотрели источники времени.
Настройку фаервола nftables для Debian 11 я описывал здесь.
Кроме этого, вы можете посмотреть количество активных и не активных источников:
# chronyc activity 200 OK 4 sources online 0 sources offline 0 sources doing burst (return to online) 0 sources doing burst (return to offline) 0 sources with unknown address
Заметьте, если Chrony не сможет получить время из интернета, то клиенты перестанут синхронизировать своё время с этим сервером. Поэтому нужно следить, чтобы у сервера Chrony всегда были рабочие источники времени.
Настройка клиентских серверов
Теперь нужно, на остальных серверах, прописать наш сервер Chrony в качестве источника синхронизации времени. Для этого укажем его адрес в /etc/systemd/timesyncd.conf на остальных серверах. А затем перезапустим службу синхронизации времени, и проверим работу:
# nano /etc/systemd/timesyncd.conf [Time] NTP=192.168.0.15 # systemctl restart systemd-timesyncd # date # journalctl --since -1h -u systemd-timesyncd
Для большей информации вы можете использовать следующие команды:
# systemctl status systemd-timesyncd.service # timedatectl show-timesync # timedatectl timesync-status
Также, на сервере времени вы можете посмотреть клиентов, которые к нему подключились:
# chronyc clients Hostname NTP Drop Int IntL Last Cmd Drop Int Last =============================================================================== 192.168.0.2 4 0 5 - 5 0 0 - -
- Hostname – имя или адрес клиента;
- NTP – количество NTP-пакетов, полученных от клиентов;
- Drop – сколько NTP-пакетов было отброшено из-за ограничения скорости отклика;
- Int – средний интервал между NTP-пакетами;
- Last – время с момента получения последнего NTP-пакета;
- Остальные поля я не рассматриваю, так как обычно этих достаточно.
Итог
Теперь вы знакомы с сервером времени Chrony. Он позволяет запустить свой локальный NTP сервер и синхронизировать время с другими NTP серверами. То-есть может работать и в качестве клиента и в качестве сервера.
- Служба этого приложения – chrony.
- Конфигурационный файл – /etc/chrony/chrony.conf.
- Серверный процесс – chronyd.
- Утилита для получения информации – chronyc.

Установка сервера времени Chrony на Debian 11
В этой статье я покажу вам как установить сервер точного времени Chrony на Debian 11, а также как настроить и использовать его
Date — утилита Unix/Linux для работы с системными часами. Если вызвать date без параметров, то будет выведена текущая дата и время, соответствующие текущему часовому поясу. Чтобы посмотреть время в часовом поясе UTC, используйте команду date —utc (или сокращенно date -u).
Необходимо следить за правильностью установки даты и времени, это нужно для корректной работы планировщика задач. Также, время и дата указывается во все основные системные лог-файлы и лог-файлы посещений веб-сервера.
Также советую изменить соответствующую запись в /etc/timezone
Как изменить дату и время в Debian/Linux?
# date MMDDhhmmYYYY.ss
MM — месяц
DD — день
hh — час
mm — минуты
YYYY — год
ss — секунды
Как изменить время в Debian/Linux?
# date —set hh:mm
Синхронизация времени в Linux/Ubuntu. NTP и Ntpdate.
NTP — это протокол синхронизации времени по сети.
Сервис NTP ntpd вычисляет насколько отстают ваши часы и постоянно подправляет их, благодаря этому не происходит сильных изменений, что может приводить к непоследовательности в журналах. Этот сервис не требует много ресурсов, поэтому его можно установить не задумываясь.
Для установки ntpd из консоли введите:
# apt-get install ntp
Конфигурация находится в файле /etc/ntp.conf, тут можно добавлять и удалять сервера, с которыми нужно синхронизировать время.
По умолчанию сервера в Ubuntu выглядят так:
pool 0.ubuntu.pool.ntp.org iburst
pool 1.ubuntu.pool.ntp.org iburst
pool 2.ubuntu.pool.ntp.org iburst
pool 3.ubuntu.pool.ntp.org iburst
Если вы добавите свои сервера, то нужно перезапустить сервис ntpd для применения изменений:
# service ntp restart
Вступление
Точное хронометраж стал важнейшим компонентом современного развертывания программного обеспечения. Будь то проверка того, что журналы записаны в правильном порядке, или обновления баз применяются правильно, несинхронное время может привести к ошибкам, повреждению данных и другим сложным проблемам для отладки.
В Debian 10 синхронизация времени встроена и активирована по умолчанию с использованием стандартного сервера времени ntpd, предоставляемого пакетом + ntp +. В этой статье мы рассмотрим некоторые основные команды, связанные со временем, проверим, что ntpd активен и подключен к одноранговым узлам, и узнаем, как активировать альтернативную службу сетевого времени systemd-timesyncd.
Предпосылки
Шаг 1 — Навигация по основным временным командам
Самая простая команда для определения времени на вашем сервере — + date +. Любой пользователь может набрать эту команду, чтобы распечатать дату и время:
OutputWed 31 Jul 2019 06:03:19 PMЧаще всего ваш сервер по умолчанию использует часовой пояс UTC, как показано в приведенном выше выводе. UTC — Всемирное координированное время, время на нулевой долготе. Последовательное использование Universal Time уменьшает путаницу, когда ваша инфраструктура охватывает несколько часовых поясов.
Если у вас другие требования и вам нужно изменить часовой пояс, вы можете использовать команду + timedatectl.
Сначала перечислите доступные часовые пояса:
timedatectl list-timezonesСписок часовых поясов будет распечатан на вашем экране. Вы можете нажать + SPACE для перехода вниз, а` + b + для перехода вверх. Как только вы найдете правильный часовой пояс, запишите его, затем наберите `+ q +, чтобы выйти из списка.
Теперь установите часовой пояс с помощью + timedatectl set-timezone +, обязательно заменив выделенную часть ниже на часовой пояс, который вы нашли в списке. Вам нужно использовать + sudo + с + timedatectl +, чтобы сделать это изменение:
sudo timedatectl set-timezoneВы можете проверить свои изменения, снова запустив + date +:
OutputWed 31 Jul 2019 02:08:43 PMАббревиатура часового пояса должна отражать вновь выбранное значение.
Теперь, когда мы знаем, как проверить часы и установить часовые пояса, давайте удостоверимся, что наше время синхронизировано должным образом.
Шаг 2 — Проверка статуса ntpd
По умолчанию Debian 10 запускает стандартный сервер ntpd, чтобы синхронизировать системное время с пулом внешних серверов времени. Мы можем проверить, что он работает с командой + systemctl +:
sudo systemctl status ntpOutput● ntp.service - Network Time Service Loaded: loaded (/lib/systemd/system/ntp.service; enabled; vendor preset: enabled) Active: since Wed 2019-07-31 13:57:08 EDT; 17min ago Docs: man:ntpd(8)
Main PID: 429 (ntpd) Tasks: 2 (limit: 1168) Memory: 2.1M CGroup: /system.slice/ntp.service └─429 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 106:112
. . .Состояние + active (running) + указывает на то, что ntpd запущен правильно. Чтобы получить больше информации о состоянии ntpd, мы можем использовать команду + ntpq +:
Output remote refid st t when poll reach delay offset jitter
==============================================================================
0.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
1.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
2.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
3.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
+208.67.72.50 152.2.133.55 2 u 12 64 377 39.381 1.696 0.674
+198.46.223.227 204.9.54.119 2 u 6 64 377 22.671 3.536 1.818
-zinc.frizzen.ne 108.61.56.35 3 u 43 64 377 12.012 1.268 2.553
-pyramid.latt.ne 204.123.2.72 2 u 11 64 377 69.922 2.858 0.604
+nu.binary.net 128.252.19.1 2 u 10 64 377 35.362 3.148 0.587
#107.155.79.108 129.7.1.66 2 u 65 64 377 42.380 1.638 1.014
+t1.time.bf1.yah 98.139.133.62 2 u 6 64 377 11.233 3.305 1.118
*sombrero.spider 129.6.15.30 2 u 47 64 377 1.304 2.941 0.889
+hydrogen.consta 209.51.161.238 2 u 45 64 377 1.830 2.280 1.026
-4.53.160.75 142.66.101.13 2 u 42 64 377 29.077 2.997 0.789
#horp-bsd01.horp 146.186.222.14 2 u 39 64 377 16.165 4.189 0.717
-ntpool1.603.new 204.9.54.119 2 u 46 64 377 27.914 3.717 0.939+ ntpq + — инструмент запросов для ntpd. Флаг + -p + запрашивает информацию о серверах NTP (или p eers), к которым подключен ntpd. Ваш вывод будет немного другим, но в нем должны быть перечислены серверы пула Debian по умолчанию, а также несколько других. Имейте в виду, что ntpd может установить соединение в течение нескольких минут.
Шаг 3 — Переключение на systemd-timesyncd
Для замены ntpd можно использовать встроенный в systemd компонент * timesyncd *. Timesyncd — это более легкая альтернатива ntpd, более интегрированная с systemd. Однако обратите внимание, что он не поддерживает работу в качестве сервера времени, и он немного менее изощрен в методах, которые он использует для синхронизации вашего системного времени. Если вы используете сложные распределенные системы реального времени, вы можете придерживаться ntpd.
Чтобы использовать timesyncd, мы должны сначала удалить ntpd:
Затем запустите службу Timesyncd:
sudo systemctl start systemd-timesyncdНаконец, проверьте состояние службы, чтобы убедиться, что она работает:
sudo systemctl status systemd-timesyncdOutput● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Drop-In: /usr/lib/systemd/system/systemd-timesyncd.service.d └─disable-with-time-daemon.conf Active: since Wed 2019-07-31 14:21:37 EDT; 6s ago Docs: man:systemd-timesyncd.service(8)
Main PID: 1681 (systemd-timesyn) Status: "Synchronized to time server for the first time 96.245.170.99:123 (0.debian.pool.ntp.org)." Tasks: 2 (limit: 1168) Memory: 1.3M CGroup: /system.slice/systemd-timesyncd.service └─1681 /lib/systemd/systemd-timesyncdМы можем использовать + timedatectl +, чтобы распечатать текущее понимание systemd времени:
Output Local time: Wed 2019-07-31 14:22:15 EDT Universal time: Wed 2019-07-31 18:22:15 UTC RTC time: n/a Time zone: America/New_York (EDT, -0400) RTC in local TZ: noПри этом выводится местное время, универсальное время (которое может совпадать с местным временем, если вы не переключались из часового пояса UTC), а также некоторая информация о состоянии сетевого времени. + Системные часы синхронизированы: да + означает, что время было успешно синхронизировано, а + NTP service: active + означает, что timesyncd включен и работает.
Заключение
В этой статье мы показали, как просматривать системное время, изменять часовые пояса, работать с ntpd и переключаться на службу systemd timesyncd. Если у вас есть более сложные потребности в хронометраже, чем те, которые мы рассмотрели здесь, вы можете обратиться к ical официальной документации NTP, а также взгляните на The NTP Pool Project, глобальную группу добровольцев, предоставляющих большую часть мировой инфраструктуры NTP.
Вступление
Точное хронометраж стал важнейшим компонентом современного развертывания программного обеспечения. Будь то проверка того, что журналы записаны в правильном порядке, или обновления базы данных применены правильно, несинхронное время может привести к ошибкам, повреждению данных и другим трудным для отладки проблемам.
В Debian 9 синхронизация времени встроена и активирована по умолчанию с использованием стандартного сервера времени ntpd, предоставляемого пакетом + ntp +. В этой статье мы рассмотрим некоторые основные команды, связанные со временем, проверим, что ntpd активен и подключен к одноранговым узлам, и узнаем, как активировать альтернативную службу сетевого времени systemd-timesyncd.
Предпосылки
Навигация по основным временным командам
Самая простая команда для определения времени на вашем сервере — + date +. Любой пользователь может набрать эту команду, чтобы распечатать дату и время:
OutputTue Sep 4 17:51:49 2018Чаще всего ваш сервер по умолчанию использует часовой пояс UTC, как показано в приведенном выше выводе. UTC — Всемирное координированное время, время на нулевой долготе. Последовательное использование Universal Time уменьшает путаницу, когда ваша инфраструктура охватывает несколько часовых поясов.
Если у вас другие требования и вам нужно изменить часовой пояс, вы можете использовать команду + timedatectl.
Сначала перечислите доступные часовые пояса:
timedatectl list-timezonesСписок часовых поясов будет распечатан на вашем экране. Вы можете нажать + SPACE для перехода вниз, а` + b + для перехода вверх. Как только вы найдете правильный часовой пояс, запишите его, затем наберите `+ q +, чтобы выйти из списка.
Теперь установите часовой пояс с помощью + timedatectl set-timezone +, обязательно заменив выделенную часть ниже на часовой пояс, который вы нашли в списке. Вам нужно использовать + sudo + с + timedatectl +, чтобы сделать это изменение:
sudo timedatectl set-timezoneВы можете проверить свои изменения, снова запустив + date +:
OutputTue Sep 4 13:52:57 2018Аббревиатура часового пояса должна отражать вновь выбранное значение.
Теперь, когда мы знаем, как проверить часы и установить часовые пояса, давайте удостоверимся, что наше время синхронизировано должным образом.
Проверка статуса ntpd
По умолчанию Debian 9 запускает стандартный сервер ntpd, чтобы синхронизировать системное время с пулом внешних серверов времени. Мы можем проверить, что он работает с командой + systemctl +:
sudo systemctl status ntpOutput● ntp.service - LSB: Start NTP daemon Loaded: loaded (/etc/init.d/ntp; generated; vendor preset: enabled) Active: since Tue 2018-09-04 15:07:03 EDT; 30min ago Docs: man:systemd-sysv-generator(8) Process: 876 ExecStart=/etc/init.d/ntp start (code=exited, status=0/SUCCESS) Tasks: 2 (limit: 4915) CGroup: /system.slice/ntp.service └─904 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 105:109
. . .Состояние + active (running) + указывает на то, что ntpd запущен правильно. Чтобы получить больше информации о состоянии ntpd, мы можем использовать команду + ntpq +:
Output remote refid st t when poll reach delay offset jitter
==============================================================================
0.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
1.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
2.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
3.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
-eterna.binary.n 204.9.54.119 2 u 240 256 377 35.392 0.142 0.211
-static-96-244-9 192.168.10.254 2 u 60 256 377 10.242 1.297 2.412
+minime.fdf.net 83.157.230.212 3 u 99 256 377 24.042 0.128 0.250
*t1.time.bf1.yah 98.139.133.62 2 u 31 256 377 11.112 0.621 0.186
+x.ns.gin.ntt.ne 249.224.99.213 2 u 108 256 377 1.290 -0.073 0.132
-ord1.m-d.net 142.66.101.13 2 u 473 512 377 19.930 -1.764 0.293+ ntpq + — инструмент запросов для ntpd. Флаг + -p + запрашивает информацию о серверах NTP (или p eers), к которым подключен ntpd. Ваш вывод будет немного другим, но в нем должны быть перечислены серверы пула Debian по умолчанию, а также несколько других. Имейте в виду, что ntpd может установить соединение в течение нескольких минут.
Переключение на systemd-timesyncd
Для замены ntpd можно использовать встроенный в systemd компонент * timesyncd *. Timesyncd — это более легкая альтернатива ntpd, более интегрированная с systemd. Однако обратите внимание, что он не поддерживает работу в качестве сервера времени, и он немного менее изощрен в методах, которые используются для синхронизации системного времени. Если вы используете сложные распределенные системы реального времени, вы можете придерживаться ntpd.
Чтобы использовать timesyncd, мы должны сначала удалить ntpd:
Затем запустите службу Timesyncd:
sudo systemctl start systemd-timesyncdНаконец, проверьте состояние службы, чтобы убедиться, что она работает:
sudo systemctl status systemd-timesyncdOutput● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/systemd-timesyncd.service.d └─disable-with-time-daemon.conf Active: since Tue 2018-09-04 16:14:23 EDT; 1s ago Docs: man:systemd-timesyncd.service(8)
Main PID: 3399 (systemd-timesyn) Status: "Synchronized to time server 198.60.22.240:123 (0.debian.pool.ntp.org)." Tasks: 2 (limit: 4915) CGroup: /system.slice/systemd-timesyncd.service └─3399 /lib/systemd/systemd-timesyncdМы можем использовать + timedatectl +, чтобы распечатать текущее понимание systemd времени:
Output Local time: Tue 2018-09-04 16:15:34 EDT Universal time: Tue 2018-09-04 20:15:34 UTC RTC time: Tue 2018-09-04 20:15:33 Time zone: America/New_York (EDT, -0400)
RTC in local TZ: noПри этом выводится местное время, универсальное время (которое может совпадать с местным временем, если вы не переключались из часового пояса UTC), а также некоторая информация о состоянии сетевого времени. «+ Сетевое время включено: да » означает, что timesyncd включен, а « NTP синхронизирован: да +» означает, что время было успешно синхронизировано.
Заключение
В этой статье мы показали, как просматривать системное время, изменять часовые пояса, работать с ntpd и переключаться на службу systemd timesyncd. Если у вас есть более сложные потребности в хронометраже, чем те, которые мы рассмотрели здесь, вы можете обратиться к ical официальной документации NTP, а также взгляните на The NTP Pool Project, глобальную группу добровольцев, предоставляющих большую часть мировой инфраструктуры NTP.

