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?

Wuffers
quelle
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"
Sebastian Paaske Tørholm
quelle
37

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

# hwclock --systohc

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

# hwclock --hctosys
Gjorgji Tashkovski
quelle
23

gerecht ntpdate ntp.ubuntu.comund alles wird gut.

Weitere Informationen hierzu finden Sie in der offiziellen Ubuntu-Dokumentation

Gangsar Swapurba
quelle
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

Phylib
quelle
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
Pedro Lobito
quelle
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"
David Motilla
quelle
1

Versuche dies:

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

oder

date +%T%p -s "12:22:20AM"
date +%T%p -s "12:23:30PM"
Nullen
quelle
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.

RedComet
quelle
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

Ivaylo Mutafov
quelle
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.

Luc
quelle