Website-Suche

So stellen Sie die Uhrzeit, die Zeitzone ein und synchronisieren die Uhr in Linux


In diesem Artikel erfahren Sie, wie Sie die Zeit, die Zeitzone einstellen und Ihre Linux-Systemuhr mit NTP unter Verwendung von timedatectl, systemd-timesyncd und chrony synchronisieren. :

Der ‘timedatectl‘-Befehl ist ein Dienstprogramm für RHEL-basierte und Debian-basierte Distributionen und ist Teil des ‘systemd‘-Systems und Dienstmanagers. Er dient als Ersatz für den alten traditionellen date-Befehl, der in ‘sysvinit‘-Daemon-basierten Linux-Distributionen verwendet wurde.

Der timedatectl-Befehl ermöglicht es Ihnen, die Konfiguration der Systemuhr und ihrer Einstellungen abzufragen und zu ändern. Sie können diesen Befehl verwenden, um das aktuelle Datum, die Uhrzeit und die Zeitzone einzustellen oder zu ändern oder die automatische Synchronisation der Systemuhr mit einem entfernten NTP-Server zu aktivieren.

In diesem Tutorial werde ich Ihnen die Möglichkeiten zeigen, wie Sie die Zeit auf Ihrem Linux-System verwalten können, indem Sie das Datum, die Uhrzeit, die Zeitzone einstellen und die Zeit mit NTP synchronisieren über das Terminal mithilfe von timedatectl, systemd-timesyncd und chrony.

Es ist immer eine gute Praxis, die korrekte Zeit auf Ihrem Linux-Server oder -System zu halten, und es kann die folgenden Vorteile haben:

  • Erhalten Sie den rechtzeitigen Ablauf von Systemaufgaben, da die meisten Aufgaben in Linux zeitlich gesteuert werden.
  • Genaue Zeit für die Protokollierung von Ereignissen und anderen Informationen im System.
  • Richtige Synchronisation für verteilte Systeme und Anwendungen.
  • Wesentlich für Sicherheitsprotokolle wie Kerberos und die Zertifikatsüberprüfung von SSL/TLS.

Wie man die lokale Zeitzone in Linux findet und einstellt

1. Um die aktuelle Zeit und das Datum auf Ihrem System anzuzeigen, verwenden Sie den Befehl timedatectl über die Kommandozeile wie folgt:

timedatectl  status

In der obigen Ausgabe ist die RTC-Zeit die Zeit der Hardwareuhr.

2. Die Zeit auf Ihrem Linux-System wird immer über die auf dem System eingestellte Zeitzone verwaltet. Um Ihre aktuelle Zeitzone anzuzeigen, gehen Sie wie folgt vor:

timedatectl 
OR
timedatectl | grep Time

3. Um alle verfügbaren Zeitzonen anzuzeigen, führen Sie den untenstehenden Befehl aus:

timedatectl list-timezones

4. Um die lokale Zeitzone entsprechend Ihrem Standort zu finden, führen Sie den folgenden Befehl aus.

timedatectl list-timezones |  egrep  -o "Asia/B.*"
timedatectl list-timezones |  egrep  -o "Europe/L.*"
timedatectl list-timezones |  egrep  -o "America/N.*"

5. Um Ihre lokale Zeitzone in Linux einzustellen, verwenden wir den set-timezone-Schalter wie unten gezeigt.

sudo timedatectl set-timezone "Asia/Kolkata"
timedatectl status

Es wird immer empfohlen, die koordinierte Weltzeit, UTC, zu verwenden und einzustellen.

sudo timedatectl set-timezone UTC
timedatectl status

Sie müssen die richtige Zeitzone eingeben, andernfalls können beim Ändern der Zeitzone Fehler auftreten. Im folgenden Beispiel ist die Zeitzone „Asia/Kolkata“ nicht korrekt, wodurch der Fehler verursacht wird.

failed to set time zone: invalid timezone

Wie man Zeit und Datum in Linux einstellt

Sie können Datum und Uhrzeit auf Ihrem System mit dem Befehl timedatectl wie folgt einstellen:

Zeit in Linux einstellen

6. Um nur die Zeit einzustellen, können wir einen set-time-Schalter zusammen mit dem Zeitformat HH:MM:SS (Stunde, Minute und Sekunde) verwenden.

sudo timedatectl set-time 12:25:30
timedatectl status

Sie könnten die folgende Fehlermeldung erhalten, wenn Sie das Datum wie oben gezeigt einstellen:

Failed to set time: Automatic time synchronization is enabled

Der Fehler tritt auf, weil die automatische Zeitsynchronisation (NTP) aktiviert ist, was manuelle Zeitänderungen verhindert.

Um es zu beheben, deaktivieren Sie zuerst NTP und stellen dann die Zeit ein.

sudo timedatectl set-ntp false
sudo timedatectl set-time 12:25:30
timedatectl status

7. Um sowohl Datum als auch Uhrzeit einzustellen, verwenden Sie den Schalter set-time zusammen mit dem Datumsformat YYYY-MM-DD (Jahr, Monat, Tag) und der Uhrzeit in HH:MM:SS (Stunde, Minute und Sekunden):

sudo timedatectl set-time '2026-01-23 12:25:30'

Wie man die Hardware-Uhr in Linux findet und einstellt

8. Um Ihre Hardware-Uhr auf koordinierte Weltzeit, UTC, einzustellen, verwenden Sie die Option set-local-rtc boolean-value wie folgt:

Finden Sie zuerst heraus, ob Ihre Hardware-Uhr auf die lokale Zeitzone eingestellt ist:

timedatectl | grep local

Stellen Sie Ihre Hardware-Uhr auf die lokale Zeitzone ein:

sudo timedatectl set-local-rtc 1

Stellen Sie Ihre Hardware-Uhr auf koordinierte Weltzeit (UTC) ein:

sudo timedatectl set-local-rtc 0

Hinweis: Es wird nicht empfohlen, die RTC auf die Ortszeit einzustellen, da dies zu Problemen bei der Umstellung auf die Sommerzeit führen kann. Daher ist es am besten, die RTC auf UTC zu belassen.

Synchronisierung der Linux-Systemuhr mit einem entfernten NTP-Server

NTP steht für Network Time Protocol und ist ein Internetprotokoll, das verwendet wird, um die Systemuhr zwischen Computern zu synchronisieren.

Das timedatectl-Dienstprogramm ermöglicht es Ihnen, Ihre Linux-Systemuhr automatisch mit einer entfernten Gruppe von Servern über NTP zu synchronisieren.

Die meisten modernen Linux-Distributionen verwenden verschiedene Implementierungen für die NTP-Synchronisierung:

  • systemd-timesyncd: Ein leichtgewichtiger SNTP (Simple NTP) Client, der in systemd integriert ist und für die meisten Desktop- und Einzelserver-Setups geeignet ist.
  • chrony: Eine voll ausgestattete NTP-Implementierung, die sowohl als Client als auch als Server fungieren kann. Sie bewältigt unterbrochene Netzwerkverbindungen besser und ist genauer.

Verwendung von systemd-timesyncd

Um die automatische Zeitsynchronisation mit einem entfernten NTP-Server zu starten, geben Sie den folgenden Befehl im Terminal ein, der den systemd-timesyncd-Dienst aktiviert und startet.

sudo timedatectl set-ntp true

Um die NTP-Zeitsynchronisation zu deaktivieren, geben Sie den folgenden Befehl im Terminal ein.

sudo timedatectl set-ntp false

Um den Synchronisierungsstatus zu überprüfen:

timedatectl status

Sie sollten „Systemuhr synchronisiert: ja“ und „NTP-Dienst: aktiv“ sehen.

Verwendung von chrony (Empfohlen für Server)

Wenn Sie einen Server betreiben oder eine zuverlässigere Zeitsynchronisation benötigen, ist chrony die bessere Wahl, und es ist besonders gut für:

  • Systeme, die nicht kontinuierlich laufen (Laptops, Desktop-Computer).
  • Server erfordern hohe Genauigkeit.
  • Systeme mit intermittierender Netzwerkverbindung.
  • Cluster-Umgebungen, in denen Zeitkonsistenz kritisch ist.

Installieren Sie zunächst chrony (falls noch nicht installiert):

sudo apt install chrony   [On Debian-based systems]
sudo dnf install chrony   [On RHEL-based systems]

Hinweis: Die Installation von chrony deaktiviert automatisch systemd-timesyncd, um Konflikte zu vermeiden.

Nach der Installation aktivieren, starten und den Synchronisierungsstatus überprüfen:

sudo systemctl enable --now chronyd
timedatectl status

Um Ihre eigenen NTP-Server anstelle der Standardserver zu verwenden, müssen Sie die Chrony-Konfigurationsdatei bearbeiten.

sudo nano /etc/chrony/chrony.conf
OR
sudo nano /etc/chrony/sources.d/custom.sources

Fügen Sie Ihre bevorzugten NTP-Server hinzu (Sie können eine Liste von NTP-Servern vom NTP-Pool-Projekt erhalten).

pool 0.pool.ntp.org iburst
pool 1.pool.ntp.org iburst
pool 2.pool.ntp.org iburst

Chrony nach Änderungen neu starten:

sudo systemctl restart chronyd

Wichtige Hinweise zur NTP-Synchronisierung

  • Sie können nicht mehrere NTP-Implementierungen gleichzeitig ausführen, wählen Sie also entweder systemd-timesyncd oder chrony.
  • systemd-timesyncd ist eine reine Client-Implementierung und kann keine Zeit an andere Systeme bereitstellen.
  • chrony kann sowohl als Zeitclient als auch als Zeitserver für Ihr lokales Netzwerk fungieren.
  • Für Produktionsserver und kritische Infrastrukturen wird im Allgemeinen chrony gegenüber systemd-timesyncd empfohlen.
  • NTP erfordert, dass UDP-Port 123 für ausgehende Verbindungen geöffnet ist.
Zusammenfassung

Dies sind sehr einfache Beispiele, die in diesem Tutorial beschrieben werden, und ich hoffe, Sie finden sie hilfreich, um verschiedene Linux-Systemuhren und Zeitzonen einzustellen.

Um mehr über dieses Tool zu erfahren, gehen Sie zur timedatectl-Man-Seite.

man timedatectl

Wenn Sie etwas zu diesem Artikel zu sagen haben, können Sie gerne einen Kommentar hinterlassen, um weitere Informationen hinzuzufügen.