Mit timedatectl Befehl timedatectl in Linux können Sie die Systemuhr und ihre Einstellungen abfragen und ändern. Es ist Teil von Systemd, einem Ersatz für den Sysvinit-Daemon, der in den GNU / Linux- und Unix-Systemen verwendet wird.

In diesem Artikel werden wir diesen Befehl und die darin enthaltenen Funktionen anhand relevanter Beispiele erläutern.

Timedatectl Beispiele

Hinweis - Alle in diesem Artikel beschriebenen Beispiele werden unter GNU bash, Version 4.3.11 (1), getestet.

Anzeige der Systemdatum / -zeitinformationen

Führen Sie einfach den Befehl ohne Befehlszeilenoptionen oder Flags aus, und Sie erhalten Informationen zum aktuellen Datum und zur Uhrzeit des Systems sowie zu zeitbezogenen Einstellungen. Hier ist zum Beispiel die Ausgabe, wenn ich den Befehl auf meinem System ausgeführt habe:

 $ timedatectl Lokale Zeit: Sa 2014-11-08 05:46:40 IST Weltzeit: Sa 2014-11-08 00:16:40 UTC Zeitzone: Asia / Kolkata (IST, +0530) NTP aktiviert: ja NTP synchronisiert: ja RTC im lokalen TZ: keine DST aktiv: n / a 

Sie können also sehen, dass die Ausgabe Informationen zu LTC, UTC und Zeitzone sowie Einstellungen zu NTP, RTC und DST für den lokalen Host enthält.

Aktualisieren Sie das Systemdatum oder die Systemzeit mit der Option für die Zeiteinstellung

Um die Systemuhr auf ein bestimmtes Datum oder eine bestimmte Uhrzeit set-time, verwenden Sie die Option set-time gefolgt von einer Zeichenfolge mit den neuen Datums- / Uhrzeitinformationen. Um beispielsweise die Systemzeit auf 6:40 Uhr zu ändern, habe ich den folgenden Befehl verwendet:

 $ sudo timedatectl set-time "2014-11-08 06:40:00" 

und hier ist die Ausgabe:

 $ timedatectl Lokale Zeit: Sa 2014-11-08 06:40:02 IST Weltzeit: Sa 2014-11-08 01:10:02 UTC Zeitzone: Asia / Kolkata (IST, +0530) NTP aktiviert: ja NTP synchronisiert: keine RTC in lokalem TZ: keine DST aktiv: n / a 

Beachten Sie, dass das Feld Ortszeit jetzt die aktualisierte Uhrzeit anzeigt. Ebenso können Sie das Systemdatum aktualisieren.

Aktualisieren Sie die Systemzeitzone mit der Option set-timezone

Um die Systemzeitzone auf den angegebenen Wert zu setzen, können Sie die Option set-timezone gefolgt vom Zeitzonenwert verwenden. Um Ihnen bei der Aufgabe zu helfen, timedatectl Befehl timedatectl eine weitere nützliche Option. list-timezones bietet Ihnen eine Liste der verfügbaren Zeitzonen zur Auswahl.

Hier ist zum Beispiel die scrollbare Liste der Zeitzonen, die der Befehl timedatectl auf meinem System erzeugt hat:

Um die aktuelle Zeitzone des Systems von Asien / Kolkata nach Asien / Kathmandu zu ändern, hier ist der Befehl, den ich verwendet habe:

 $ timedatectl set-timezone Asien / Kathmandu 

und um die Änderung zu überprüfen, ist hier die Ausgabe des Befehls timedatectl :

 $ timedatectl Ortszeit: Sa 2014-11-08 07:11:23 NPT Weltzeit: Sa 2014-11-08 01:26:23 UTC Zeitzone: Asien / Kathmandu (NPT, +0545) NTP aktiviert: ja NTP synchronisiert: keine RTC in lokalem TZ: keine DST aktiv: n / a 

Sie können sehen, dass die Zeitzone auf den neuen Wert geändert wurde.

Konfigurieren Sie RTC

Sie können den Befehl timedatectl zum Konfigurieren von RTC (Echtzeituhr) verwenden. Für diejenigen, die sich nicht bewusst sind, ist RTC eine batteriebetriebene Computeruhr, die die Zeit verfolgt, auch wenn das System ausgeschaltet ist. Der Befehl timedatectl bietet eine set-local-rtc Option, mit der die RTC entweder in der lokalen Zeit oder in der universellen Zeit verwaltet werden kann.

Diese Option erfordert ein boolesches Argument. Wenn 0 geliefert wird, ist das System so konfiguriert, dass die RTC in Universalzeit gehalten wird:

 $ timedatectl set-local-rtc 0 

Wenn jedoch 1 geliefert wird, wird stattdessen die RTC in Ortszeit gehalten.

 $ timedatectl set-local-rtc 1 

Ein paar Worte zur Vorsicht : Das Warten der RTC in der lokalen Zeitzone wird nicht vollständig unterstützt und führt zu verschiedenen Problemen mit Zeitzonenänderungen und Sommerzeitanpassungen. Wenn möglich, verwenden Sie RTC in UTC.

Ein weiterer erwähnenswerter Punkt ist, dass, wenn set-local-rtc aufgerufen wird und die Option --adjust-system-clock übergeben wird, die Systemuhr erneut von der RTC synchronisiert wird, wobei die neue Einstellung berücksichtigt wird. Ansonsten wird die RTC von der Systemuhr synchronisiert.

Konfigurieren Sie die NTP-basierte Netzwerkzeitsynchronisierung

NTP oder Network Time Protocol ist ein Netzwerkprotokoll zur Taktsynchronisation zwischen Computersystemen über paketvermittelte Datennetze mit variabler Latenz. Es ist geplant, alle teilnehmenden Computer innerhalb weniger Millisekunden nach UTC zu synchronisieren.

Der Befehl timedatectl stellt eine set-ntp Option set-ntp, die steuert, ob die NTP-basierte Netzwerkzeitsynchronisierung aktiviert ist. Diese Option erwartet ein boolesches Argument. Führen Sie den folgenden Befehl aus, um die NTP-basierte Zeitsynchronisierung zu aktivieren:

 $ timedatectl set-ntp ist wahr 

Führen Sie zum Deaktivieren Folgendes aus:

 $ timedatectl set-ntp falsch 

Fazit

Wie aus den oben beschriebenen Beispielen hervorgeht, ist der Befehl timedatectl ein praktisches Werkzeug für Systemadministratoren, mit dem verschiedene timedatectl und RTC-Konfigurationen angepasst und entfernte Server nach Zeitinformationen timedatectl werden können. Um mehr über den Befehl zu erfahren, gehen Sie zu seiner Manpage.