Wie stelle ich die aktuelle Zeit unter Linux ein?


69

Warum unterscheidet sich die Ausgabe der folgenden Befehle?

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# 

Und kann ich die aktuelle Zeit unter Linux ändern?


1
Eine schnelle Suche von Google gibt diesen Link zurück:> cyberciti.biz/faq/howto-set-date-time-from-linux-command-prompt

Antworten:


89

Normalerweise möchten Sie, dass die Zeit automatisch eingestellt wird, und in diesem Fall möchten Sie ntpdfestlegen, dass die Zeit automatisch für Sie eingestellt wird.

Die Besonderheiten unterscheiden sich geringfügig von Distribution zu Distribution. Wenn Sie jedoch beispielsweise Ubuntu ausführen, finden Sie eine Anleitung zum Einrichten von NTP unter Ubuntu . Ansonsten nur Google ntpd <distribution-name>, und Sie werden es wahrscheinlich finden.

Wenn Sie es jedoch manuell einstellen möchten, können Sie verwenden date --set="<date string>". Beispiele hierfür könnten sein:

date --set="23 June 1988 10:00:00"
date --set="10:00:00"

37

Stellen Sie die Hardware-Uhr auf die aktuelle Systemzeit ein.

# hwclock --systohc

Stellen Sie die Systemzeit über die Hardware-Uhr ein.

# hwclock --hctosys

23

gerecht ntpdate ntp.ubuntu.comund alles wird gut.

Weitere Informationen hierzu finden Sie in der offiziellen Ubuntu-Dokumentation


18
Bitte erläutern Sie Ihre Antwort und erläutern Sie der Qualitätssicherung und den zukünftigen Lesern, was der von Ihnen erwähnte Befehl bewirkt und warum Sie eine solche Maßnahme empfehlen. Hinweis: Die Qualitätssicherung hat gefragt, wie die Uhrzeit geändert und nicht wie sie synchronisiert werden soll.
Lorenzo Von Matterhorn

1
@LorenzoVonMatterhorn ok
Gangsar Swapurba

Dies hat noch keine Erklärung. Was kann ich erwarten, wenn ich diesen Befehl ausführe?
Jerclarke


1
Arbeitete großartig für die genaue Zeiteinstellung.
Sabrina Gelbart

13

Ein weiteres häufiges, sehr ärgerliches Problem ist, wenn die falsche Zeitzone ausgewählt wird ...

Überprüfen Sie die Zeitzone mit der Datumsausgabe:

$ date

Fre 23. August 18:47:04 UTC 2013

So korrigieren Sie den Zeitzonentyp:

$ sudo tzselect

und wählen Sie die richtige Region mit den entsprechenden Nummern.

Eine zweite Aufgabe besteht darin, die richtige Zeit einzustellen:

$ sudo date --set = "18:37:00"

Oder nehmen Sie sich einfach die Zeit von der HW-Uhr:

$ sudo hwclock --hctosys


3

In CentOSbefinden sich Zeitzonen in /usr/share/zoneinfo/, um das Systemdatum auf eine bestimmte Zeitzone zu ändern , können Sie:

Erstellen Sie zunächst eine Sicherungskopie der vorhandenen Localtime-Datei.

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

Als nächstes erstellen Sie den Link:

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

Überprüfen Sie das neue Systemdatum, indem Sie Folgendes eingeben date.

Um das Linux-Systemdatum manuell anzupassen , können Sie Folgendes eingeben:

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

ODER

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

ODER

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

So stellen Sie die Hardware-Uhr auf die aktuelle Systemzeit ein:

hwclock --systohc

ODER

hwclock -w

1

"hwclock" ist das Datum der Hardware (Maschine) und "date" ist das Datum der Software (Betriebssystem).

Zum Ändern des Datums der PC-Hardware:

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

Zum Ändern des Softwaredatums:

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

1

Versuche dies:

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

oder

date +%T%p -s "12:22:20AM"
date +%T%p -s "12:23:30PM"

0

dateGeben Sie die Uhrzeit ab dem Moment des CPU-Starts plus der Uhrzeit der internen Hardware-Uhr zurück und hwclockgeben Sie die Uhrzeit der internen Uhr an.

Die CPU-basierte Zeit driftet in der Regel, je länger die Maschine in Betrieb ist. Dies ist der Grund für das Vorhandensein von hwclock --hctosysBefehlen. Dies ist auch einer der Gründe für die Verwendung des Netzwerkprotokolls Time, mit dem die Zeit im Internet international koordiniert wird.


0

Verwenden Sie diese Option, wenn Sie keinen NTP-Client haben

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)

Die URL ist Ihre lokale Zeitzone

Sie können utc ... und etc. Verwenden


aber das hier funktioniert für mich: askubuntu.com/a/683136
user956584

0

kann ich die aktuelle Zeit unter Linux ändern?

Für mich musste ich zuerst diesen Befehl ausführen:

sudo systemctl stop systemd-timesyncd

Andernfalls würde systemd die Zeit sofort zurücksetzen. Nach dem Beenden des systemd-Dienstes datefunktioniert die Ausführung wie erwartet:

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

Während der Dienst ausgeführt wurde, date -sschien der Befehl zu funktionieren, aber dateeinen Moment später konnte ich das System wieder starten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.