Текущая дата сервера Ubuntu и время отличается от даты и времени часового пояса. Я попытался использовать:
sudo date "30 Sep 2015 4:43:42"
для изменения его, но он не изменил дату и время, просто распечатанный на терминале дата и время я изменился, но когда я выполнился:
sudo hwclock --show
Дата и время является все еще старой.
Что корректный путь состоит в том, чтобы изменить дату и время Сервера Ubuntu?
Можно установить системную дату с этой командой:
sudo date --set="2015-09-30 10:05:59.990"
Затем при использовании date
, это должно быть, показал правильно.
Теперь Вы должны также аппаратные часы набора в BIOS системы, что установка сохраняется по перезагрузке (dureing запуск, системное время установлено на значение аппаратных часов). Сделайте это с hwclock
:
sudo hwclock --systohc
Это получает системные часы (sys) значение и устанавливает аппаратные часы (hc). Проверьте его с hwclock
команда. Оба hwclock
и date
должен теперь показать ту же дату и время.
Для установки часового пояса можно использовать эту команду:
sudo dpkg-reconfigure tzdata
BTW: Если Вы используете эту машину в качестве сервера, я настоятельно рекомендую использовать клиента NTP для синхронизации времени по сети. Таким образом, можно гарантировать, что все серверы имеют точно тот же набор времени. Это будет синхронизировать время, в то время как машина работает. Если у Вас есть приложения, которые зависят синхронизировавшего времени по серверу, я рекомендую демона NTP. Чем дольше это работает в фоновом режиме, тем более точен время.
timedatectl list-timezones
sudo timedatectl set-timezone America/Toronto
timesyncd
sudo timedatectl set-ntp on
С этим, время должно устанавливаться и синхронизироваться.
Вы видите больше на этом учебном руководстве: https://www.digitalocean.com/community/tutorials/how-to-set-up-time-synchronization-on-ubuntu-18-04
Поскольку те, которые ищут версию
секунд эпохи, Назначают текущую дату, и время
sudo date -s @1565864862
Получают текущую дату и время
date +%s
выводы 1565864862
просто введите
sudo date newdatestring
с newdatestring в формате nnddhhmmyyyy.ss
Но около команды даты, возможно, Вы предпочитаете NTP "решение" (протокол сетевого времени): Serverguide - NTP, намного легче обработать и более точный, чем назначение даты вручную. Можно использовать cronjob или демона NTP (ntpd) для обновления Вас время каждый x часы/минуты...
Надеюсь, это поможет!
Мне не нравится устанавливать системное время вручную. Таким образом для устранения этой проблемы я должен был объединить два различных ответа.
Для фиксации системного времени, необходимо использовать этот код:
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
как дали в этом ответе
Затем Вы синхронизируете аппаратные часы с системным использованием часов
sudo hwclock --systohc
как дано @chaos в этом потоке.
Мне помогли:
timedatectl set-local-rtc 0
sudo timedatectl set-ntp 1
sudo hwclock --systohc
sudo timedatectl set-ntp 0
sudo timedatectl set-time "06:24:00"
sudo timedatectl set-time "2020-04-23"
sudo hwclock --systohc
или
sudo date --set="2020-04-23 06:24:25.990"
sudo hwclock --systohc
timedatectl
Я использую серверы на основе Ubuntu на Amazon AWS. Все ответы SUDO DATE НЕ РАБОТАЛИ для меня. SUDO DATE возвращает новую дату в качестве выходных данных, но последующие вызовы DATE по-прежнему показывают старую дату. Кроме того, HWCLOCK ничего не делал, кроме как возвращал ошибку.
Мне ответили так:
sudo timedatectl set-ntp false
sudo timedatectl set-time "строка-дата-время"