Как настроить синхронизацию времени в Ubuntu
Возможно, вы настроили задания cron, которые запускаются в определенное время для резервного копирования важных файлов или выполнения любых системных задач. Или вы могли настроить сервер журналов для ротации журналов из вашей системы через регулярные промежутки времени. Если ваши часы не синхронизированы, эти задания не будут выполняться в нужное время. Вот почему так важно настроить правильный часовой пояс в системах Linux и синхронизировать часы с Интернетом. В этом руководстве описывается, как настроить синхронизацию времени в Ubuntu Linux. Приведенные ниже шаги были протестированы в Ubuntu 18.04, однако они аналогичны и для других систем на базе Ubuntu, использующих службу timesyncd 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. В моем случае системные часы синхронизируются с серверами времени в Интернете.
Если часы не синхронизированы, вы увидите "Системные часы синхронизированы: нет", как показано на снимке экрана ниже.
Синхронизация времени отключена.
Примечание. Скриншот выше старый. Вот почему вы видите другую дату.
Если вы видите "Системные часы синхронизированы: установлено значение нет, возможно, служба 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
Вы увидите результат, аналогичный изображенному ниже.
Список часовых поясов с помощью команды timedatectl
Вы можете установить желаемый часовой пояс (например, Азия/Калькутта) с помощью команды:
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
Изменить часовой пояс с помощью Tzdata
В старых версиях Ubuntu команда Timedatectl недоступна. В таких случаях вы можете использовать Tzdata(данные о часовом поясе) для настройки синхронизации времени.
sudo dpkg-reconfigure tzdata
Выберите географический регион, в котором вы живете. В моем случае я выбрал Азию. Выберите ОК и нажмите клавишу ВВОД.
настроить часовой пояс с помощью команды tzdata
Далее выберите город или регион, соответствующий вашему часовому поясу. Здесь я выбрал Калькутту.
настроить часовой пояс с помощью tzdata
Наконец, вы увидите вывод в терминале, как показано ниже.
Current default time zone: 'Asia/Kolkata'
Local time is now: Tue Jul 30 19:29:25 IST 2019.
Universal Time is now: Tue Jul 30 13:59:25 UTC 2019.
Настройка часового пояса в графическом режиме
Некоторым пользователям может не нравиться интерфейс командной строки. Если вы один из них, вы можете легко изменить все это с панели настроек системы в графическом режиме.
Нажмите клавишу Супер (клавиша Windows), введите settings в тире Ubuntu и щелкните значок Настройки.
Запустите настройки системы из панели Ubuntu.
Либо нажмите стрелку вниз, расположенную в правом верхнем углу рабочего стола Ubuntu, и щелкните значок «Настройки» в левом углу.
Запустите настройки системы с верхней панели.
В следующем окне выберите Подробности, а затем нажмите Дата и время. Включите параметры Автоматическая дата и время и Автоматический часовой пояс.
Установить автоматический часовой пояс в Ubuntu
Закройте окно настроек и все готово! Теперь ваши системные часы должны синхронизироваться с серверами времени в Интернете.