Beherrschen der Befehlszeile: Verwenden Sie timedatectl, um Systemzeit und -datum in Linux zu steuern
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.