2011-06-26 13:23:39 +0000 2011-06-26 13:23:39 +0000
71
71

Как установить текущее время в Linux?

Почему вывод следующих команд отличается?

root@vmi2115:/var# hwclock
Sun 26 Jun 2011 01:21:38 PM CEST -0.273230 seconds
root@vmi2495:/var# date
Sun Jun 26 15:21:39 CEST 2011
root@vmi2115:/var#

И могу ли я изменить текущее время в Linux?

Ответы (10)

92
92
92
2011-06-26 15:28:54 +0000

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

Специфика немного отличается от дистрибутива к дистрибутиву, но если вы используете Ubuntu, например, есть руководство по настройке NTP на Ubuntu . В противном случае, просто Google ntpd <distribution-name>, и вы, вероятно, найдете его.

Если вы хотите установить его вручную, однако, вы можете использовать date --set="<date string>". Примерами этого могут быть:

date --set="23 June 1988 10:00:00"
date --set="10:00:00"
```.
37
37
37
2011-06-26 14:13:09 +0000

S

23
23
23
2013-04-01 13:13:25 +0000

только ntpdate ntp.ubuntu.com и все будет хорошо.

Больше информации об этом есть на Ubuntu Официальная документация

13
13
13
2013-08-23 16:51:36 +0000

Другая распространенная, очень раздражающая проблема заключается в том, что при неправильном выборе часового пояса…

Проверьте часовой пояс с выходом даты:

$ дата

Fre Aug 23 18:47:04 UTC 2013

Для исправления типа часового пояса:

$ sudo tzselect

и выберите правильный Регион с соответствующими цифрами.

Вторая задача - установить правильное время:

$ sudo date –set=“18:37:00”

Или просто взять время из HW-часов:

$ sudo hwclock –hctosys

3
3
3
2015-04-03 10:00:44 +0000

В CentOS часовые пояса расположены в /usr/share/zoneinfo/, чтобы изменить системную дату на ** конкретного часового пояса** вы можете:

Во-первых, сделать резервную копию существующего файла локального времени.

sudo mv /etc/localtime /etc/localtime.bak

Далее, создайте ссылку:

sudo ln -s /usr/share/zoneinfo/Europe/Lisbon /etc/localtime

Проверьте новую системную дату, введя date.

Для настройки системы Linux дата вручную можно набирать:

date -s "11 MAR 2006 11:11:11"

OR

OR

date --set="11 MAR 2015 11:11:11"

Настроить Оборудование Clock на текущее системное время:

date +%Y%m%d -s "20150311"

OR

hwclock --systohc
```.
2
2
2
2015-06-17 09:24:07 +0000

Попробуйте:

date +%T -s "12:21:00"

или

date +%T%p -s "12:22:20AM"
date +%T%p -s "12:23:30PM"
1
1
1
2013-07-31 07:32:37 +0000

“hwclock” - дата аппаратного обеспечения (машины), а “date” - дата программного обеспечения (операционной системы).

Для смены аппаратного обеспечения дата:

hwclock --set --date="2013-7-31 09:30"

Для смены аппаратного обеспечения дата:

date --set "2013-7-31 09:30"
0
0
0
2011-11-26 11:33:01 +0000

date возвращает время, указанное как время с момента запуска процессора плюс внутренние аппаратные часы, hwclock возвращает время, указанное внутренними часами.

Время на процессоре имеет тенденцию дрейфовать долгое время, что является причиной существования команды hwclock --hctosys. Также это одна из причин использования времени сетевого протокола (Network Protocol Time), который используется для международной координации времени в интернете.

0
0
0
2016-09-26 12:37:17 +0000

используйте это, если не NTP клиент

date -s $(wget -q -O - http://www.timeapi.org/eest/now | cut -d '+' -f 1 | tr -d : | tr -d - | tr -d T | cut -c 1-12)

eest в URL это ваш местный часовой пояс

Вы можете использовать utc… и т.п.

0
0
0
2019-02-20 14:18:53 +0000

могу ли я изменить текущее время под Linux?

Для меня сначала нужно было выполнить эту команду:

sudo systemctl stop systemd-timesyncd

Иначе systemd сразу же сбросит время. После остановки службы systemd, запуск date работает так, как и ожидалось:

$ sudo date -s 'january 1 1971'
Fri Jan 1 00:00:00 CET 1971
$ date
Fri Jan 1 00:00:00 CET 1971

Пока служба работала, команда date -s вроде бы работала, но запуск date через минуту даст мне системное время снова.

Похожие вопросы

6
10
5
37
7