timedatectl: Zeitsynchronisierung des Linux-Servers prüfen und Zeitzone einstellen

TestumgebungRHEL-FamilieAlmaLinux 9.8systemd 252 · chrony 4.8root-KontoDebian 12 normales KontoGeprüft am 2026-10-29
Befehle für Systeminfo · EinstellungentimedatectlSpeicherort/usr/bin/timedatectl

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: no

Die 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.

AusgabezeileWas er zeigtErgebnisse der beiden Server und worauf zu achten ist
Local timeAktuelle Uhrzeit der Systemuhr mit angewendeter ZeitzoneNach einem Zeitzonenwechsel zeigen nur diese Zeile und die Ausgabe von date die neue Zone
Universal timeDieselbe Uhrzeit in UTCBleibt beim Zeitzonenwechsel gleich – auf dem Debian-12-Server (Etc/UTC) gleich Local time
RTC timeUhrzeit der Hardwareuhr (RTC)Ohne Zeitzone angezeigt – bei RTC in local TZ no ist es UTC
Time zoneEingestellte Zeitzone, ihre Abkürzung und der Abstand zu UTCZum Ändern einen Namen aus der Liste von list-timezones verwenden
System clock synchronizedOb der Kernel die Uhr als synchronisiert ansiehtAuf beiden Servern yes – bei no zuerst den Referenzserver mit chronyc tracking oder ntpq -p prüfen
NTP serviceOb der Synchronisierungsdienst läuft, den timedatectl ein- und ausschaltetAlmaLinux 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 TZOb 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 --show
2026-10-28 19:53:33.006788+00:00

Auf dem Debian-12-Server, angemeldet als normaler Benutzer, endete derselbe Befehl, ohne auf die Hardwareuhr zugreifen zu können.

/usr/sbin/hwclock --show
hwclock: 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/adjtime
0.0 0 0.0
0
UTC

Zum 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 show
Timezone=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 UTC

Mit -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 --value
Etc/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.

Simulator für den Befehl timedatectlsystemd 252 · chrony 4.8
[root@server work]#
Läuft nur im Browser. Eine geänderte Zeitzone springt beim Neuladen auf den Anfang (Etc/UTC) zurück, und ↑↓ ruft frühere Befehle wieder auf.

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 NTPSynchronized
CanNTP=yes
NTP=yes
NTPSynchronized=yes

Auf 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 NTPSynchronized
CanNTP=no
NTP=no
NTPSynchronized=yes

Der Dienst ntpsec selbst lief.

systemctl is-active ntpsec
active

timedatectl 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.list
chronyd.service
rpm -qf /usr/lib/systemd/ntp-units.d/50-chronyd.list
chrony-4.8-10.el9.x86_64

Auf 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 directory
🖥️ timedatectlstatus, show, set-ntp
ntp-units.d/*.listListe der Synchronisierungsdienste, die timedatectl schaltet
chronyd.serviceIn der Liste → NTP service: active
ntpsec.serviceNicht in der Liste → NTP service: n/a

3️⃣ 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 sources
MS 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] +/-  312us

Das 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 tracking
Reference 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     : Normal

Laut 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 4

Die 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.7070

4️⃣ 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 -5
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
timedatectl list-timezones | wc -l
598

Die Liste ist lang, deshalb bei der Suche nach einem Namen mit grep filtern.

timedatectl list-timezones | grep -i new_york
America/New_York

Die 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_York

Ob /etc/localtime ein Link auf eine Zeitzonendatei ist, prüft ls -l.

ls -l /etc/localtime
lrwxrwxrwx 1 root root 27 Sep 24 12:52 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC

Ein Name, der nicht in der Liste steht, wurde sofort abgelehnt, bevor die Zeitzone geändert wurde.

timedatectl set-timezone Mars/Olympus
Failed 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 true

Auf 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 false
Failed to set ntp: NTP not supported

Um 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 bad
Failed to parse time specification 'bad': Invalid argument

Um auf einem Server mit chrony eine stark abweichende Uhr in einem Schritt zu stellen, chronyc makestep verwenden.

sudo chronyc makestep

makestep 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

NTP-Dienste wie chrony und ntpsec halten die Uhr laufend synchron, rdate per cron laufen zu lassen ist daher kaum noch nötig. Auf dem geprüften AlmaLinux-9-Server war rdate nicht installiert und stand auch nicht in der Liste installierbarer Pakete. Im Repository des Debian-12-Servers gab es das Paket rdate 1.11, installiert war es aber nicht.

timesync-status ist ein Befehl nur für systemd-timesyncd. Auf dem AlmaLinux-9-Server mit chrony und dem Debian-12-Server mit ntpsec endete er beide Male mit dem Fehler Failed to query server. Auf solchen Servern den Synchronisierungsstatus mit chronyc tracking oder ntpq -p prüfen.

Laut offiziellem Handbuch kann eine Hardwareuhr in Ortszeit Probleme machen, wenn die Zeitzone wechselt oder die Sommerzeit umgestellt wird. Es empfiehlt daher, sie möglichst in UTC zu lassen, und der Befehl zum Umstellen auf UTC ist sudo timedatectl set-local-rtc 0. Beide geprüften Server standen auf no (UTC).

ℹ️ 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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Beweisen Sie, dass Sie ein Mensch sind: 10   +   8   =