Der Befehl hwclock
Prinzipiell gibt es unter Linux-/UNIX-Betriebssystemen zwei verschiedene Uhren: Einerseits gibt es die für alle Benutzer und Programme gültige Systemzeit, welche innerhalb des Linux-Kernels läuft. Andererseits gibt es jedoch auch noch die sogenannte Hardware-Uhr, welche unabhängig von anderen Komponenten stets weiter läuft - selbst, wenn das System ausgeschaltet wurde. Im ausgeschalteten Zustand sorgt eine integrierte Batterie dafür, dass die Hardware-Uhr weiter läuft. Wird das System wieder eingeschaltet, so wird die Zeit der Hardware-Uhr zum Abgleich mit der Systemzeit verwendet.
In diesem Beitrag lernen Sie die Funktionsweise des Befehls hwclock kennen: Der Befehl ermöglicht Ihnen den Zugriff auf die Hardware-Uhr. Neben der Anzeige der aktuellen Zeit haben Sie damit auch die Möglichkeit, die Hardware-Uhr nach der aktuellen Systemzeit zu stellen, oder umgekehrt die Systemzeit nach der Hardware-Uhr zu stellen.
Neben diesen Grundfunktionen besitzt der Befehl auch noch einige weitere hilfreiche Funktionen / Optionen, von denen die wichtigsten ebenfalls kurz erläutert werden sollen.
Grundfunktionen
Zunächst einmal lautet die allgemeine Syntax des Befehls folgendermaßen:
hwclock [Funktion] [Optionen]
Aktuelle Zeit ausgeben
Werden keine Funktionen und Optionen angegeben, so gibt hwclock die aktuelle Zeit der Hardware-Uhr aus:
hwclock
Dieselbe Ausgabe lässt sich jedoch auch mit der Funktion -r erreichen:
hwclock -r
Zwar ist die Hardware-Uhr nach der Coordinated Universal Time (UTC) gestellt, so erfolgt die Ausgabe dennoch stets nach Systemgebietsschema, also der lokalen Zeit.
Hardware-Uhr nach Systemzeit stellen
Wenn Sie nun die Hardware nach der Systemzeit stellen möchten, dann verwenden Sie dazu die Funktion -w:
hwclock -w
Systemzeit nach Hardware-Uhr stellen
Umgekehrt ist es auch möglich, die Systemzeit nach der aktuellen Zeit der Hardware-Uhr zu stellen. Hierzu wird die Funktion -s verwendet.
hwclock- s
Neben der Systemzeit wird auch die Kernel-eigene Zeitzonen-Information beeinflusst - so setzt die Option entsprechend der Umgebungsvariable TZ (Time Zone) auch die Zeitzonen-Information des Kernels.
Weitere Optionen
Im Folgenden werden einige weitere wichtige Optionen / Funktionen des Befehls hwclock vorgestellt.
-a - Systemabweichung ausgleichen (adjust)
Mit der Funktion -a können die üblicherweise bei der Hardware-Uhr auftretenden Systemabweichungen korrigiert werden:
hwclock -a
Bei der manuellen Kalibrierung der Uhr legt hwclock automatisch eine Datei adjtime an und zeichnet darin jeweils die Zeit der letzten Kalibrierung auf bzw. durch die Option --update-drift auch einen Abweichungsfaktor. Bei Aufruf der Funktion -a liest hwclock den Inhalt der adjtime-Datei und stellt dann beispielsweise fest, dass die Uhr 2 Sekunden pro Tag vor geht, wenn sie nicht korrigiert wird. Diese 2 Sekunden werden nun abgezogen, um die Abweichung auszugleichen. Bei erneutem Aufruf von hwclock mit der Funktion -a wird die Hardware-Uhr dann stets entsprechend der vergangenen Zeit und der Einträge in der adjtime-Datei eingestellt.
--set - Hardware-Uhr einstellen
Die Funktion --set wird eingesetzt, um die Hardware-Uhr auf einen bestimmten Wert zu setzen. Hierzu wird zusätzlich die Option --date benötigt, welcher die gewünschte Datumszeichenkette übergeben wird:
hwclock --set --date='[Datumszeichenkette]'
Im Folgenden werden zwei verschiedene mögliche Formate gezeigt, welche zum Einstellen der Hardware-Uhr verwendet werden können:
hwclock --set --date='hh:mm'
hwclock --set --date='YYYY-MM-DD hh:mm:ss'
Zeitzoneninformationen sollten in der Datumszeichenkette nicht verwendet werden.
Beispiel: Hardware-Uhr auf Uhrzeit einstellen
Eingabe:
hwclock --set --date='18:00'
Bedeutung:
Die Zeit der Hardware-Uhr wird auf 18:00 Uhr gestellt.
Beispiel: Hardware-Uhr auf Uhrzeit und Datum einstellen
Eingabe:
hwclock --set --date='2025-01-01 14:30:00'
Bedeutung:
In diesem Beispiel wird die Hardware-Uhr auf 14:30 Uhr am 01.01.2025 gestellt.
Abonniere JETZT unseren Newsletter!
Verpasse nie wieder neue Beiträge und exklusive Insider-Only-Inhalte!