timedatectl: Zeitsynchronisierung des Linux-Servers prüfen und Zeitzone einstellen
timedatectl ist ein systemd-Befehl, der die Systemuhr, die Zeitzone und den Status der NTP-Zeitsynchronisierung eines Linux-Servers anzeigt und ändert. Beim Prüfen der Zeitsynchronisierung auf einem AlmaLinux-9-Server mit chrony und einem Debian-12-Server mit ntpsec waren auf beiden Servern die Uhren synchron, doch die Zeile NTP service zeigte einmal active und einmal n/a.
Die folgenden Ausgaben stammen von den beiden Servern. Nur Hostnamen, IP-Adressen und Versionsnummern der Pakete wurden durch Beispielwerte ersetzt, und Befehle, die Uhrzeit oder Zeitzone ändern, wurden auf dem Produktivserver nicht ausgeführt.
1️⃣ timedatectl verwenden und die Uhrzeit des Linux-Servers prüfen
timedatectl ohne Optionen liefert dasselbe Ergebnis wie mit status. Uhrzeit der Systemuhr und der Hardwareuhr (RTC), Zeitzone und Synchronisierungsstatus stehen auf einem Bildschirm. Unten das Ergebnis auf dem Debian-12-Server.
timedatectl Local time: Wed 2026-10-28 19:49:57 UTC
Universal time: Wed 2026-10-28 19:49:57 UTC
RTC time: Wed 2026-10-28 19:49:57
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
NTP service: n/a
RTC in local TZ: noDie Zeitzone des Debian-12-Servers ist Etc/UTC, daher zeigten Local time und Universal time dieselbe Uhrzeit. Was jede Zeile aussagt und die Ergebnisse der beiden Server stehen in der Tabelle unten.
| Ausgabezeile | Was er zeigt | Ergebnisse der beiden Server und worauf zu achten ist |
|---|---|---|
| Local time | Aktuelle Uhrzeit der Systemuhr mit angewendeter Zeitzone | Nach einem Zeitzonenwechsel zeigen nur diese Zeile und die Ausgabe von date die neue Zone |
| Universal time | Dieselbe Uhrzeit in UTC | Bleibt beim Zeitzonenwechsel gleich – auf dem Debian-12-Server (Etc/UTC) gleich Local time |
| RTC time | Uhrzeit der Hardwareuhr (RTC) | Ohne Zeitzone angezeigt – bei RTC in local TZ no ist es UTC |
| Time zone | Eingestellte Zeitzone, ihre Abkürzung und der Abstand zu UTC | Zum Ändern einen Namen aus der Liste von list-timezones verwenden |
| System clock synchronized | Ob der Kernel die Uhr als synchronisiert ansieht | Auf beiden Servern yes – bei no zuerst den Referenzserver mit chronyc tracking oder ntpq -p prüfen |
| NTP service | Ob der Synchronisierungsdienst läuft, den timedatectl ein- und ausschaltet | AlmaLinux 9 (chrony) active, Debian 12 (ntpsec) n/a – n/a heißt, timedatectl kennt den Dienst nicht, also mit systemctl prüfen |
| RTC in local TZ | Ob die Hardwareuhr in Ortszeit läuft (no = UTC) | Auf beiden Servern no – der Befehl, um yes auf UTC umzustellen, ist set-local-rtc 0 |
Linux hat zwei Uhren. Die Systemuhr führt der Kernel nach dem Booten, und die Hardwareuhr ist die Uhr auf dem Mainboard, die die Zeit auch bei ausgeschaltetem Server hält.
Die Hardwareuhr wird mit hwclock direkt gelesen. hwclock gibt die Uhrzeit umgerechnet in die aktuelle Zeitzone aus. Auf dem AlmaLinux-Server ergab das Lesen mit TZ=UTC vor dem Befehl eine UTC-Zeit mit +00:00 am Ende.
TZ=UTC hwclock --show2026-10-28 19:53:33.006788+00:00Auf dem Debian-12-Server, angemeldet als normaler Benutzer, endete derselbe Befehl, ohne auf die Hardwareuhr zugreifen zu können.
/usr/sbin/hwclock --showhwclock: Cannot access the Hardware Clock via any known method.
hwclock: Use the --verbose option to see the details of our search for an access method.Die Zeile RTC in local TZ ist dieselbe Einstellung wie die dritte Zeile der Datei /etc/adjtime. Auf dem AlmaLinux-Server lautete die dritte Zeile UTC, die Hardwareuhr läuft also in UTC.
cat /etc/adjtime0.0 0 0.0
0
UTCZum Auslesen von Werten in einem Skript show statt status verwenden. Auf dem Debian-12-Server erscheinen dieselben Angaben als Name=Wert, eine pro Zeile.
timedatectl showTimezone=Etc/UTC
LocalRTC=no
CanNTP=no
NTP=no
NTPSynchronized=yes
TimeUSec=Wed 2026-10-28 19:49:57 UTC
RTCTimeUSec=Wed 2026-10-28 19:49:57 UTCMit -p Eigenschaften auswählen und --value anhängen, dann bleiben nur die Werte ohne Namen. So lässt sich nur der Name der Zeitzone auslesen.
timedatectl show -p Timezone --valueEtc/UTC🔲 Simulator für den Befehl timedatectl
Im Simulator unten lassen sich die Befehle zum Prüfen der Uhrzeit, zum Auflisten und Ändern der Zeitzone und zum Prüfen der Synchronisierung mit chronyc selbst eingeben.
2️⃣ Status der Zeitsynchronisierung des Linux-Servers
Die Zeile System clock synchronized zeigt, ob der Kernel die Uhr als synchronisiert ansieht, und die Zeile NTP service, ob der Synchronisierungsdienst läuft, den timedatectl ein- und ausschalten kann. Mit show erscheinen dieselben Werte als NTPSynchronized und NTP, und CanNTP zeigt, ob es einen solchen schaltbaren Synchronisierungsdienst gibt.
Auf dem AlmaLinux-9-Server mit chrony waren alle drei Werte yes.
timedatectl show -p CanNTP -p NTP -p NTPSynchronizedCanNTP=yes
NTP=yes
NTPSynchronized=yesAuf dem Debian-12-Server, der die Zeit mit ntpsec stellt, war nur NTPSynchronized yes, CanNTP und NTP waren no. Deshalb zeigte die Zeile NTP service im status-Bildschirm dieses Servers n/a.
timedatectl show -p CanNTP -p NTP -p NTPSynchronizedCanNTP=no
NTP=no
NTPSynchronized=yesDer Dienst ntpsec selbst lief.
systemctl is-active ntpsecactivetimedatectl kennt nur die Synchronisierungsdienste, die in den Listendateien im Ordner ntp-units.d stehen, und Pakete der Distribution legen diese Dateien unter /usr/lib/systemd/ntp-units.d/ ab (laut offiziellem Handbuch). Auf dem AlmaLinux-9-Server gab es eine vom Paket chrony installierte Listendatei mit einer einzigen Zeile, chronyd.service.
cat /usr/lib/systemd/ntp-units.d/50-chronyd.listchronyd.servicerpm -qf /usr/lib/systemd/ntp-units.d/50-chronyd.listchrony-4.8-10.el9.x86_64Auf dem Debian-12-Server fehlte dieser Ordner. Da ntpsec nicht in der Liste steht, wusste timedatectl zwar, dass die Uhr synchron ist, konnte den Dienst aber nicht ein- oder ausschalten.
ls /usr/lib/systemd/ntp-units.d/ls: cannot access '/usr/lib/systemd/ntp-units.d/': No such file or directory3️⃣ Zeitsynchronisierung mit chronyc prüfen
Auf einem Server mit chrony zeigt chronyc, nach welchem Zeitserver sich die Uhr richtet. sources gibt die Zeitserver, die chronyd abfragt, und ihren Zustand Zeile für Zeile aus.
chronyc sourcesMS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- 192.0.2.10 2 10 377 943 +272us[ +275us] +/- 55ms
^- ntp1.example.com 2 10 377 80 -28us[ -32us] +/- 3655us
^- 198.51.100.33 3 10 257 384 -151us[ -156us] +/- 97ms
^- 198.51.100.82 3 10 177 532 +157us[ +149us] +/- 45ms
^* 192.0.2.123 3 4 377 2 -21us[ -23us] +/- 312usDas führende ^ steht für einen Zeitserver, ein * als zweites Zeichen für den Referenzserver, nach dem sich die Uhr gerade richtet, und - für einen Kandidaten, der nicht in die Berechnung eingeht. Poll 4 beim Referenzserver heißt Abfrage alle 16 Sekunden (2 hoch 4), und Reach 377 heißt, dass alle acht letzten Antworten ankamen.
tracking zeigt, wie weit die Systemuhr von der Zeit des Referenzservers abweicht.
chronyc trackingReference ID : C000027B (192.0.2.123)
Stratum : 4
Ref time (UTC) : Wed Oct 28 19:50:21 2026
System time : 0.000002422 seconds slow of NTP time
Last offset : -0.000002098 seconds
RMS offset : 0.000000981 seconds
Frequency : 6.348 ppm slow
Residual freq : -0.001 ppm
Skew : 0.017 ppm
Root delay : 0.000300815 seconds
Root dispersion : 0.000150780 seconds
Update interval : 16.3 seconds
Leap status : NormalLaut Zeile System time ging die Systemuhr 0.000002422 Sekunden gegenüber der NTP-Zeit nach, und Leap status war Normal. Ein Update interval von 16.3 Sekunden ist der Abstand zwischen den letzten beiden Uhrkorrekturen.
Welche Server abgefragt werden, legen die Zeilen pool und server in /etc/chrony.conf fest. Ohne Kommentare und Leerzeilen bleiben nur diese Einstellungszeilen.
grep -v "^#" /etc/chrony.conf | grep -v "^$"pool 2.almalinux.pool.ntp.org iburst
sourcedir /run/chrony-dhcp
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
keyfile /etc/chrony.keys
ntsdumpdir /var/lib/chrony
leapsectz right/UTC
logdir /var/log/chrony
server 192.0.2.123 prefer iburst minpoll 4 maxpoll 4Die Zeile pool fragt den NTP-Pool von AlmaLinux ab, und prefer in der letzten server-Zeile ist eine Option, mit der chronyd diesen Server vor den anderen wählt. makestep 1.0 3 stellt eine um mehr als 1 Sekunde abweichende Uhr bei den ersten drei Korrekturen nach dem Start von chronyd in einem Schritt, danach wird die Uhr schrittweise angeglichen, indem sie etwas schneller oder langsamer läuft. rtcsync lässt den Kernel die Systemzeit alle 11 Minuten in die Hardwareuhr schreiben (laut offizieller Dokumentation).
Auf dem Debian-12-Server mit ntpsec wurden dieselben Angaben mit ntpq -p geprüft. Das führende * ist der Referenzserver, und alle drei Server wurden alle 1024 Sekunden abgefragt.
ntpq -p remote refid st t when poll reach delay offset jitter
===============================================================================
+203.0.113.43 198.51.100.28 2 u 835 1024 377 184.6893 -0.1018 1.4879
+203.0.113.44 198.51.100.27 2 u 547 1024 377 183.0827 -2.4227 4.0957
*ntp2.example.co 198.51.100.40 2 u 440 1024 377 177.4670 -0.5814 1.70704️⃣ Zeitzone mit timedatectl ändern
Namen von Zeitzonen zeigt list-timezones. Die meisten haben die Form Kontinent/Stadt, einer pro Zeile, und auf beiden Servern waren es 598.
timedatectl list-timezones | head -5Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmaratimedatectl list-timezones | wc -l598Die Liste ist lang, deshalb bei der Suche nach einem Namen mit grep filtern.
timedatectl list-timezones | grep -i new_yorkAmerica/New_YorkDie Zeitzone wird geändert, indem nach set-timezone ein Name aus der Liste folgt. Der Befehl ersetzt den Link /etc/localtime durch die neue Zeitzonendatei, als normaler Benutzer daher mit sudo ausführen.
sudo timedatectl set-timezone America/New_YorkOb /etc/localtime ein Link auf eine Zeitzonendatei ist, prüft ls -l.
ls -l /etc/localtimelrwxrwxrwx 1 root root 27 Sep 24 12:52 /etc/localtime -> /usr/share/zoneinfo/Etc/UTCEin Name, der nicht in der Liste steht, wurde sofort abgelehnt, bevor die Zeitzone geändert wurde.
timedatectl set-timezone Mars/OlympusFailed to set time zone: Invalid or not installed time zone 'Mars/Olympus'Eine neue Zeitzone lässt die Uhrzeit der Systemuhr unverändert, nur Local time und die Ausgabe von date erscheinen in der neuen Zone. Läuft die Hardwareuhr in UTC, ändert sich auch die Hardwareuhr nicht (laut offiziellem Handbuch).
5️⃣ NTP mit timedatectl einschalten und die Uhrzeit von Hand setzen
set-ntp true startet den ersten Dienst der Liste der Synchronisierungsdienste und aktiviert ihn für den Systemstart. false stoppt die Dienste der Liste und deaktiviert sie für den Systemstart (laut offiziellem Handbuch).
sudo timedatectl set-ntp trueAuf dem Debian-12-Server ohne Listendatei endete der Befehl sogar bei false, dem aktuellen Wert, mit NTP not supported. Ein Dienst, der nicht in der Liste steht, etwa ntpsec, wird direkt mit systemctl gestartet und gestoppt.
timedatectl set-ntp falseFailed to set ntp: NTP not supportedUm die Uhrzeit von Hand zu setzen, folgen nach set-time Datum und Uhrzeit. Der Befehl stellt zusammen mit der Systemuhr auch die Hardwareuhr.
sudo timedatectl set-time '2026-10-28 20:00:00'Auf dem Debian-12-Server endete die Eingabe eines Werts im falschen Format mit einem Fehler, ohne die Uhrzeit zu ändern.
timedatectl set-time badFailed to parse time specification 'bad': Invalid argumentUm auf einem Server mit chrony eine stark abweichende Uhr in einem Schritt zu stellen, chronyc makestep verwenden.
sudo chronyc makestepmakestep verwirft den Rest der Abweichung, der schrittweise ausgeglichen wurde, und lässt die Systemuhr sofort um diesen Betrag springen. Die offizielle Dokumentation warnt, dass ein plötzlicher Zeitsprung manche Software stören kann, daher nur verwenden, wenn die Uhr zu weit abweicht, um sie langsam anzugleichen.
🔢 FAQ & empfohlene Inhalte
Einstellungen · locale
[Linux] localectl-Befehl
Der Befehl localectl prüft und ändert die Systemsprache (locale) und das Tastaturlayout.
Systeminfo
Linux-Befehl uptime (Serverlaufzeit & Load Average über 1, 5, 15 Minuten prüfen)
Der Befehl uptime zeigt, wie lange der Server läuft, und die durchschnittliche Last über 1, 5 und 15 Minuten.
Dienste verwalten
Apache starten, stoppen, neu starten: Befehle und der Unterschied zu graceful
Befehle zum Starten, Stoppen und Neustarten von Apache und zum Prüfen des Dienststatus unter Red-Hat-Systemen und Ubuntu.
ℹ️ Affiliate-Hinweis
Die Inhalte dieser Website enthalten Affiliate-Links. Kauft ein Besucher über einen dieser Links ein Produkt oder eine Dienstleistung, erhält die Website vom Verkäufer eine Provision. Der Betrag, den der Käufer zahlt(bei Aktionsrabatten sinkt er ↓), steigt dadurch nicht. Angegebene Preise, Rabatte und Lagerbestände entsprechen dem Stand bei Erstellung und können abweichen; prüfe sie daher vor dem Kauf beim Verkäufer. Produkte werden nach eigenen Kriterien ausgewählt und bewertet, und Provisionen beeinflussen weder die Reihenfolge noch den Inhalt der Bewertungen.