Немного полезного для работы со временем в Linux \ Ubuntu
- Узнать текущее системное время
date
- Узнать текущее время BIOS
sudo hwclock
Надо понимать что date и hwclock могут показывать совершенно разное время
Задаем время командой date
date MMDDhhmmCCYY.ss
MM | две цифры текущего месяца (пример: январь=01); |
DD | две цифры текущей даты (если текущий календарный день 1, то пишется 01); |
hh | две цифры обозначающие час |
mm | две цифры обозначающие минуты |
CCYY | четыре цифры года |
ss | две цифры секунд |
После выполнения date нужно внести новое установленное время в BIOS:
hwclock --systohc
- Синхронизация с ntp
Проверьте установлен ли ntp командой
which ntpd
/usr/sbin/ntpd
Если ntp не установлен выполните
sudo apt install ntp
Проверьте запускается ли ntpd автоматически командой
systemctl list-unit-files | grep ntpd.s
ntpd.service enabled
Если ntpd неактивен (disabled) выполните
systemctl start ntpd
systemctl enable ntpd
Проверить добавлен ли сервис ntp в зону public в firewall можно командой
sudo firewall-cmd --get-services | grep ntp
Если ещё не добавлен, то чтобы разрешить UDP траффик от ntp выполните
firewall-cmd --permanent --add-service=ntp
firewall-cmd --reload
success
success
Отредактируйте файл ntp.conf с настройками сервера
vi /etc/ntp.conf
Найдите свою временную зону на сайте www.ntppool.org и добавьте своювременную зону
Теперь нужно перезапустить ntpd
systemctl restart ntpd
Проверить откуда берётся время можно командой
ntpq -p
Выставить время BIOS по только что полученному времени можно командой
hwclock --systohc
- Узнать текущую временную зону
timedatectl
Изменить временную зону можно командой set-timezone
timedatectl set-timezone "America/Denver"
Проверить результат
timedatectl | grep "Time zone"
Time zone: America/Denver (MDT, -0600)