- How to forcefully sync date and time using the NTP server in Linux
- Commands to Sync Time with NTP Server in Linux
- What is NTP
- How to Enable NTP Synchronization on Linux
- How to Enable NTP for Linux Distributions without “systemd”
- Синхронизация времени в Linux
- Синхронизируем время в Linux
- Настройка даты через графический интерфейс
- Стандартные команды для управления временем
- Взаимодействие с сервисом timesyncd
- Установка NTPD
How to forcefully sync date and time using the NTP server in Linux
The commands and steps to initiate a forceful sync with NTP server may vary based on the distribution you are using.
By default if NTP service is running it will automatically sync the client’s date and time from the NTP server based on the polling interval but what if you want to do a force sync immediately and cannot wait for the NTP client to sync it.
On SuSE Enterprise Linux
The current date and time on my node is
# /etc/init.d/ntp status
remote refid st t when poll reach delay offset jitter
==============================================================================
192.168.10.100 10.171.8.4 3 u 1 64 1 0.173 -593996 0.000
10.40.130.1 .INIT. 16 u — 64 0 0.000 0.000 0.000
Checking for network time protocol daemon (NTPD): running
So my ntp client is running, lets change the date and time of my node before doing a force sync
So as you see it immediately sent a request to the NTP server and updated the localhost date and time details from the NTP server
On Red Hat Enterprise Linux 7
Unfortunately ntptimeset is not available in Red Hat Enterprise Linux so we have to try something else
My existing date and time
# systemctl status ntpd
● ntpd.service — Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2017-12-06 17:43:02 IST; 16h ago
Process: 5957 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 5958 (ntpd)
CGroup: /system.slice/ntpd.service
└─5958 /usr/sbin/ntpd -u ntp:ntp -g
Dec 06 17:43:02 Ban17-pgw01-a systemd[1]: Starting Network Time Service.
Dec 06 17:43:02 Ban17-pgw01-a ntpd[5957]: ntpd 4.2.6p5@1.2349-o Wed Mar 1 09:00:51 UTC 2017 (1)
Dec 06 17:43:02 Ban17-pgw01-a systemd[1]: Started Network Time Service.
Dec 06 17:43:02 Ban17-pgw01-a ntpd[5958]: proto: precision = 0.038 usec
Dec 06 17:43:02 Ban17-pgw01-a ntpd[5958]: 0.0.0.0 c01d 0d kern kernel time sync enabled
Now lets change the date and time
First stop the ntpd service
Next initiate a force sync from your NTP server using the below command
# ntpdate 192.168.10.100
7 Dec 10:27:36 ntpdate[6701]: step time server 192.168.10.100 offset 260769.003401 sec
Now start the NTP service again
Lastly validate if your localhost date and time is updated correctly
IMPORTANT NOTE: If you do not wish to stop the ntp server for doing the sync then use «-u» with ntpdate
-u Direct ntpdate to use an unprivileged port for outgoing packets. This is most useful
when behind a firewall that blocks incoming traffic to privileged ports, and you want to
synchronize with hosts beyond the firewall. Note that the -d option always uses unprivi‐
leged ports.
Without ‘-u‘ and when NTPD service is running
With ‘-u‘ and ntpd running in the background
# ntpdate -u 0.in.pool.ntp.org
10 Feb 17:35:22 ntpdate[2575]: step time server 13.126.37.14 offset 1.335054 sec
I hope the article was useful.
Commands to Sync Time with NTP Server in Linux
For many people, computer clocks in your devices, network machines, and servers are generally accurate. But that’s not true! These clocks are manually maintained and backed by batteries which over time drift the clock, especially in the older machines.
So why is accurate time so important? Having exact time on your machine is quite significant because of several reasons. Many aspects of your computer activity are linked with time. Perfectly synched time is crucial for tracking security-related issues; troubleshooting can become quite difficult if the timestamps in log files are incorrect. Even for financial services, keeping accurate time is critical.
Many companies solve time-related issues by connecting their networks with NTP. So what is NTP? Let’s dig into it first:
What is NTP
The full form of NTP is “Network Time Protocol”, which has been one of the most authentic ways to synchronize the clock over a network. If your system uses NTP, you don’t need to check and set your time manually. It automatically updates the clock every time the device reboots. It is an extremely accurate way to update the clock of your device. Since the internet is everywhere, NTP is being used by every modern computer.
How to Enable NTP Synchronization on Linux
Most of the Linux distributions are using “systemd”, which comes with NTP for clock synchronization. To verify this, use the command given below:
It indicates that NTP is active. If, for some reasons, it is not active, then use the below-mentioned command to enable it:
How to Enable NTP for Linux Distributions without “systemd”
But what if your distribution does not come with “systemd”? Well, in that case, you can install NTP.
Синхронизация времени в Linux
Правильная синхронизация времени в Linux — залог корректной работы преимущественного большинства приложений и сервисов, что особенно касается тех инструментов, которые хоть как-то связаны с интернетом. Во всех дистрибутивах данной операционной системы за синхронизацию даты и времени отвечает специальная утилита. Она находится в активном состоянии по умолчанию, поэтому у пользователей нет необходимости как-то ее настраивать или изменять. Однако иногда такая надобность все же появляется из-за разных причин, например, случайных сбоев. Сегодня мы хотим рассмотреть принцип этой конфигурации и смену сервиса синхронизации на более привычный для многих юзеров.
Синхронизируем время в Linux
Для начала давайте уточним, что затронуть абсолютно все дистрибутивы в рамках одной статьи не получится, поэтому за пример мы возьмем самую популярную сборку — Ubuntu. В остальных ОС все происходит практически идентично, а различия наблюдаются лишь в элементах графического интерфейса. Однако если вы в этой статье не найдете интересующей информации, придется воспользоваться официальной документацией дистрибутива, чтобы справиться с поставленной задачей.
Настройка даты через графический интерфейс
Перед тем, как мы приступим к разбору сервисов для синхронизации времени, давайте рассмотрим важную для новичков настройку. Большинство начинающих обладателей Linux предпочитают использовать графическое меню для конфигурации необходимых параметров, это относится и к времени. Весь процесс осуществляется следующим образом:
- Откройте меню приложений и отыщите там «Параметры».
Как видите, ничего сложного во взаимодействии с графическим интерфейсом нет. Однако недостаток этого способа заключается в том, что в меню отсутствуют важные параметры управления сервисом синхронизации, поэтому в определенных ситуациях использовать «Параметры» не получится.
Стандартные команды для управления временем
Все остальные инструкции, которые вы увидите в рамках сегодняшнего материала, заключаются в использовании терминальных команд. В первую очередь мы хотим затронуть тему стандартных опций, позволяющих управлять текущей датой и временем или просматривать нужные сведения.
- Начните с запуска «Терминала». Сделать это можно, например, нажав на соответствующий значок в меню приложений.
- Введите команду date , чтобы определить текущую дату и время.
- В новой строке отобразится интересующая вас информация в стандартном формате.
- Через стандартную команду можно и изменить часовой пояс. Сначала нужно просмотреть доступный список поясов и запомнить название требуемого. Напечатайте timedatectl list-timezones и нажмите на Enter.
- Перемещайтесь вниз по списку с помощью клавиши Пробел. После того, как вы найдете нужный пояс и запомните правило его написания, нажмите на Q для выхода.
- Команда sudo timedatectl set-timezone America/New_York отвечает за смену часового пояса на выбранный. Вместо America/New_York вам следует написать определенный ранее вариант.
- Для подтверждения действия придется ввести пароль суперпользователя, поскольку команда была выполнена с аргументом sudo.
После внесения всех изменений остается убедиться в том, что все они вступили в силу. Дополнительную информацию о timedatectl мы предлагаем узнать в официальной документации, поскольку остальные опции уже не входят в рамки темы синхронизации времени, однако могут быть полезны определенным пользователям.
Взаимодействие с сервисом timesyncd
Выше мы посоветовали изучить сведения о timedatectl через официальную документацию, но предлагаем еще на минуту остановиться на этом, чтобы ознакомиться с сервисом timesyncd. Именно эта утилита отвечает за синхронизацию времени в операционной системе по умолчанию.
- Для определения текущего статуса timesyncd используйте команду timedatectl в консоли.
- В новых строках вы получите все необходимые сведения, куда относится локальное время, установленная зона и данные о синхронизации и активности самого сервиса.
- Если вы видите, что этот инструмент сейчас отключен по каким-то причинам и хотите запустить его, чтобы наладить синхронизацию, используйте строку sudo timedatectl set-ntp on .
Установка NTPD
Последний раздел нашего сегодняшнего материала будет посвящен замене упомянутого выше сервиса синхронизации времени на более надежный протокол NTPD (Network Time Protocol daemon). Именно его раньше задействовали во многих дистрибутивах по умолчанию и хвалили за корректное взаимодействие с особо чувствительными ко времени приложениями. Инсталляция и замена сервиса происходит так:
- Для начала отключите стандартную утилиту, введя sudo timedatectl set-ntp no .
- Придется подтвердить подлинность учетной записи путем написания пароля суперпользователя.
- После вы можете использовать уже знакомую команду timedatectl для того, чтобы убедиться в отключенном состоянии инструмента.
- Перед началом установки нового программного обеспечения рекомендуется произвести инсталляцию последних обновлений. Осуществляется это через sudo apt update .
- По окончании этого процесса используйте команду sudo apt install ntp .
- Подтвердите уведомление о необходимости скачивания архивов.
- Ожидайте завершения скачивания и инсталляции пакетов.
- Теперь можете использовать новый протокол, вводя соответствующие атрибуты в «Терминал». Просмотр основных сведений происходит через ntpq -p .
Network Time Protocol daemon будет активирован автоматически, поэтому никаких дополнительных команд вводить не нужно. Вы можете сразу же приступить к тестированию проблемных приложений или выполнять другие действия, ради которых и осуществлялась инсталляция нового сервиса синхронизации времени.
Как видите, синхронизация времени и даты в Linux осуществляется автоматически, поэтому очень редко случаются ситуации, когда требуется активировать этот параметр или поменять другие опции. Теперь, изучив представленный материал, вы знаете, что существуют разные инструменты синхронизации, а настройка также может осуществляться через графическое меню.