Die Systemzeit unter GNU/Linux verwalten

IMG_20140809_135106Eine korrekte Systemzeit ist aus diversen Gründen wichtig. So werden bei einer falschen Systemzeit Aufgaben (z.B. Backups) plötzlich während des Tages ausgeführt, die Logfiles loggen mit falschen Zeitangaben oder eine E-Mail trifft ein, bevor sie geschrieben wurde.
Am besten wird die Systemzeit mit Hilfe eines Referenz-Zeitgebers synchronisiert. Vor allem wenn es sich um einen unbeaufsichtigten Server handelt, sollte man nicht auf eine solche Synchronisation verzichten.

Der Befehl „date“ verwaltet und nutzt die Systemzeit, die nicht mit der Hardware-Zeit (RTC / Real-Time-Clock) verwechselt werden sollte. Diese beiden Zeiten müssen nämlich nicht unbedingt automatisch synchron sein.

Systemzeit manuell Konfigurieren

Dies geschieht mit dem Befehl „date“, dass ohne Parameter das aktuelle Datum und die Uhrzeit ausgibt.

mgblog@X201 ~ $ date
Mit Aug  6 14:29:05 CEST 2014

Die Uhrzeit und das Datum können einfach geändert werden. Hierzu gibt man als Parameter für „date“ die codierte Zeit und das Datum mit. Die Codierung entspricht dem Muster MMDDhhmm. Das Jahr kann mit zwei oder vier Stellen angehängt werden.

mgblog@X201 ~ $ date 06081429052014
Mit Aug  6 14:29:05 CEST 2014

Erkennt „date“ ein „+“, wird die darauf folgende Zeichenkette ausgegeben und die Variablen mit den entsprechenden Daten gefüllt.

date "+Heute ist der %d.%m.%Y. Das ist der %j. Tag des aktuellen Jahres."
Heute ist der 06.08.2014. Das ist der 218. Tag des aktuellen Jahres.

Diese Funktion kann auch verwendet werden, um beispielsweise Logdateien mit dem Jahr im Dateinamen zu generieren. Dies würde (z.B. in einem Script oder in der Crontab) so ähnlich aussehen:

logdatei`date +%Y`

Date unterstützt noch viele weitere Variablen, die man auf der manpage (man date) oder mit „date -help“ angezeigt bekommt.

Die wichtigsten Variablen

Kürzel Bedeutung
%H Stunden (00-23)
%M Minuten (00-59)
%S Sekunden (00-59)
%d Tag im Monat (00-31)
%m Monat (00-12)
%y Zweistelliges Jahr (00-99)
%Y Vollständige Jahreszahl

RTC-Uhr einstellen

Um die Uhrzeiten zwischen Systemzeit und Hardware-Zeit abzugleichen, wird der Befehl „hwclock“ verwendet. Der Syntax ist einfach aufgebaut: sys-to-hc / hc-to-sys ergeben die Optionen „systohc“ und „hctosys“, wie folgende Beispiele zeigen. Damit „hwclock“ auf die Hardware-Uhr zugreifen kann, werden auf den meisten Systemen root-Rechte benötigt.

hwclock --systohc
hwclock -w
hwclock --hwtosys
hwclock -s
hwclock --show
Mit 06 Aug 2014 17:23:12 CEST  -0.668122 seconds

Wie die Zeit entsprechend den lokalen Gegebenheiten eingestellt wurd (UTC und Lokale Zeit), wird hier gezeigt.

NTP – Network Time Protocol

Auf der Webseite von pool.ntp.org sind die verfügbaren Timeserver aufgelistet und können nach Standort ausgewählt werden. Hier sollte möglichst ein Server in der Nähe ausgewählt werden (möglichst niedrige Verbindungs-Latenz).

Auf NTP werde ich in einem eigenen Artikel genauer eingehen.

Flattr this!

Schreibe einen Kommentar

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

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden .