⏱️ Как настроить синхронизацию времени в Ubuntu

by itisgood

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

Или, возможно, вы настроили сервер журналов на регулярную ротацию логов в вашей системе.

Если ваши часы не синхронизированы, эти задания не будут выполняться в нужное время.

Вот почему важно установить правильный часовой пояс в системах Linux и синхронизировать часы с Интернетом.

В этом руководстве рассказывается, как настроить синхронизацию времени в Ubuntu Linux.

Приведенные ниже шаги были протестированы в Ubuntu 18.04, однако они одинаковы для других систем на основе Ubuntu, которые используют службу timedc systemd.

Настройка синхронизации времени в Ubuntu

Обычно мы устанавливаем часовой пояс во время установки.

Однако вы можете изменить его или установить другой часовой пояс, если хотите.

Во-первых, давайте посмотрим текущий часовой пояс в нашей системе Ubuntu с помощью команды «date»:

$ date

Пример вывода:

Tue Jul 30 11:47:39 UTC 2019

Как видно из вышеприведенного вывода, команда «date» показывает фактическую дату, а также текущее время.

Здесь мой текущий часовой пояс – UTC, что означает Всемирное координированное время.

Кроме того, вы можете посмотреть файл /etc/timezone, чтобы найти текущий часовой пояс.

$ cat /etc/timezone
UTC

Теперь посмотрим, синхронизированы ли часы с интернетом. Для этого просто запустите:

$ timedatectl

Пример вывода:

Local time: Tue 2019-07-30 11:53:58 UTC
Universal time: Tue 2019-07-30 11:53:58 UTC
RTC time: Tue 2019-07-30 11:53:59
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no

Как вы можете видеть, команда «timedatectl» отображает местное время, универсальное время, часовой пояс, а также то, синхронизированы ли системные часы с интернет-серверами и активен или неактивен systemd-timesyncd.service.

В моем случае системные часы синхронизируются с интернет-серверами.

Примечание: скриншот выше. Вот почему вы видите разные даты.

Если вы видите «System clock synchronized: значение установлено как no, служба timesyncd может быть неактивна.

Итак, просто перезапустите сервис и посмотрите, поможет ли это

$ sudo systemctl restart systemd-timesyncd.service

Теперь проверьте статус сервиса timesyncd:

$ sudo 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 Tue 2019-07-30 10:50:18 UTC; 1h 11min ago
Docs: man:systemd-timesyncd.service(8)
Main PID: 498 (systemd-timesyn)
Status: "Synchronized to time server [2001:67c:1560:8003::c7]:123 (ntp.ubuntu.com)."
Tasks: 2 (limit: 2319)
CGroup: /system.slice/systemd-timesyncd.service
└─498 /lib/systemd/systemd-timesyncd

Jul 30 10:50:30 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
Jul 30 10:50:31 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
Jul 30 10:50:31 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
Jul 30 10:50:32 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
Jul 30 10:50:32 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab
Jul 30 10:51:06 ubuntuserver systemd-timesyncd[498]: Synchronized to time server [2001:67c:1560:800

Если эта служба включена и активна, ваши системные часы должны синхронизироваться с интернет-серверами времени.

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

$ timedatectl

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

$ sudo timedatectl set-ntp true

Теперь ваши системные часы будут синхронизироваться с интернет-серверами времени.

Изменить часовой пояс с помощью команды Timedatectl

Что если я хочу использовать другой часовой пояс, отличный от UTC? Это легко!

Во-первых, список доступных часовых поясов можно вывести с помощью команды:

$ timedatectl list-timezones

Вы увидите вывод, похожий на изображение ниже.

Вы можете установить желаемый часовой пояс (например, Asia/Kolkata), используя команду:

$ sudo timedatectl set-timezone Asia/Kolkata

Еще раз проверьте, действительно ли был изменен часовой пояс с помощью команды «date»:

$ date
Tue Jul 30 17:52:33 IST 2019

Или используйте команду timedatectl, если хотите получить подробный вывод:

$ timedatectl 
Local time: Tue 2019-07-30 17:52:35 IST
Universal time: Tue 2019-07-30 12:22:35 UTC
RTC time: Tue 2019-07-30 12:22:36
Time zone: Asia/Kolkata (IST, +0530)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no

Как вы заметили, я изменил часовой пояс с UTC на IST (индийское стандартное время).

Чтобы переключиться обратно на часовой пояс UTC, просто запустите:

$ sudo timedatectl set-timezone UTC

 

You may also like

Leave a Comment