LFCA: научитесь управлять временем и датой в Linux – часть 6
Эта статья является Частью 6 серии LFCA. В этой части вы познакомитесь с общими командами системного администрирования для управления настройками времени и даты в системе Linux.
Время имеет решающее значение в любой системе Linux. Множественные службы, такие как crontab, anacron, службы резервного копирования и восстановления, зависят от точного времени для выполнения своих задач должным образом.
В Linux есть 2 типа часов:
- Аппаратные часы. Это часы с батарейным питанием, также называемые часами CMOS или RTC ( Часы реального времени). Часы работают независимо от операционной системы и продолжают работать, даже когда система выключена, при условии наличия батареи CMOS.
- Системные часы ( Программные часы) – их также называют часами ядра. Во время загрузки системные часы инициализируются на основе аппаратных часов и берут на себя управление ими.
Обычно между двумя часами существует такая разница во времени, что они постепенно отклоняются друг от друга. Мы вернемся к этому позже и покажем вам, как можно синхронизировать эти часы.
А сейчас мы увидим, как можно проверить время и дату в системе Linux.
Проверьте время и дату в системе Linux
Существует две основные утилиты, используемые для проверки времени и даты в системе Linux. Первый — это команда даты. Без каких-либо аргументов он предоставляет довольно много информации, показанной
date
Friday 26 March 2021 11:15:39 AM IST
Чтобы просмотреть дату только в формате времени дд-мм-гг, выполните команду:
date +"%d-%m-%y"
26-03-21
Если вы хотите просто просмотреть только текущее время и ничего больше, используйте команду:
date "+%T"
11:17:11
Команда timedatectl — это новая утилита, используемая в современных системах Linux, таких как Ubuntu 18.04, RHEL 8 и CentOS 8. Это замена команды date, которая широко использовалась в старых системах SysVinit. Его можно использовать для запроса и настройки времени в системе Linux.
Без каких-либо параметров команда timedatectl выводит массив информации, такой как местное время, время UTC, время RTC и часовой пояс, и это лишь некоторые из них.
timedatectl
Как установить часовой пояс в системе Linux
В системе Linux время зависит от установленного часового пояса. Чтобы проверить часовой пояс, настроенный в вашей системе, введите команду:
timedatectl | grep Time
Судя по приведенному выше фрагменту, я нахожусь в часовом поясе Африка/Найроби. Чтобы просмотреть доступные часовые пояса, выполните команду:
timedatectl list-timezones
Нажмите ENTER, чтобы просмотреть весь список возможных доступных часовых поясов.
Часовые пояса также определяются в пути /usr/share/zoneinfo/, как показано.
ls /usr/share/zoneinfo/
Есть несколько способов настроить часовой пояс. Используя команду timedatectl, вы можете установить часовой пояс, например, Америка/Чикаго, используя показанный синтаксис.
timedatectl set-timezone 'America/Chicago'
Другой способ установить часовой пояс — создать символическую ссылку из файла часового пояса по пути /usr/share/zoneinfo на /etc/localtime. Например, чтобы установить местный часовой пояс EST (Восточное стандартное время), введите команду:
sudo ln -sf /usr/share/zoneinfo/EST /etc/localtime
Установите дату и время в системе Linux
Чтобы установить время только в системе Linux в формате ЧЧ:ММ:СС (час:минута:секунда), используйте приведенный ниже синтаксис.
timedatectl set-time 18:30:45
Чтобы установить дату только в формате ГГ-ММ-ДД (Год: Месяц: День), используйте синтаксис:
timedatectl set-time 20201020
Чтобы установить дату и время, запустите:
timedatectl set-time '2020-10-20 18:30:45'
ПРИМЕЧАНИЕ. Устанавливать время и дату вручную таким способом не рекомендуется, так как вы можете настроить неточные настройки времени и даты. Фактически, по умолчанию включена автоматическая синхронизация времени, чтобы вы не могли вручную настраивать время и дату.
Наиболее рекомендуемый способ установки времени — либо указать часовой пояс, в котором вы находитесь, как показано ранее, либо включить автоматическую синхронизацию времени с удаленным NTP-сервером.
Установите автоматическую синхронизацию времени с помощью NTP-сервера
NTP — это сокращение от Протокол сетевого времени, который представляет собой интернет-протокол, используемый для автоматической синхронизации системного времени с пулом на онлайн-серверах NTP.
С помощью команды timedatectl вы можете настроить автоматическую синхронизацию времени следующим образом:
timedatectl set-ntp true
Чтобы отключить автоматическую синхронизацию времени NTP, выполните:
timedatectl set-ntp false
Заключение
Команды timedatectl и date — это удобные инструменты командной строки, которые помогут вам проверить и настроить время в Linux.