Zeit

Aus Mikiwiki
Zur Navigation springen Zur Suche springen

Ein Linux-Rechner hält verschiedene Zeiten. Zum einen die Systemzeit (Software-Zeit), zum anderen die Hardware-Zeit, die von einer batteriegetriebenen Uhr auf der Hauptplatine gemessen wird. Letztere wird auch CMOS-Uhr, RTC (Real Time Clock), BIOS-Uhr oder Hardware-Uhr genannt. Zur Anzeige und Veränderung dieser Zeiten dienen folgende Programme:

  • cal zeigt einen Kalender
  • date zeigt und verändert Datum, Uhrzeit und Zeitzone der Systemzeit (Software-Zeit)
  • hwclock synchronisiert Systemzeit und Hardware-Zeit

Über NTP kann die Uhr automatisch mit der Zeit eines NTP-Servers im Netz abgeglichen werden.

Zeitsynchronisation

Oft ist auf Rechnern die Systemzeit (die u. a. für Ausleihe, Tageslauf usw. von SISIS-SunRise herangezogen wird) falsch eingestellt. Der Systemverwalter sollte regelmässig Systemuhrzeit/-datum überprüfen und korrigieren. Hängt der Rechner in einem Rechnernetz und steht dort ein NTP-Zeitserver (NTP = Network Time Protocol) zur Verfügung, so kann man sehr einfach die Systemzeit automatisch mit diesem abgleichen und korrigieren lassen. Und das geht so:

NTP-Zeitserver

Beim Systemverwalter des Rechnernetzes erfragt man, ob im Netz ein NTP-Zeitserver läuft, der auch gepflegt wird (!). Läuft dort z. B. ein Windows 2000/2003-DC (Domänen Controller), so läuft auf diesem meist auch ein NTP-Dienst (Dämon) zur Synchronisation der Systemzeiten mit den sich dort anmeldenden Arbeitsstationen.

Steht im Rechnernetz kein solcher Server zur Verfügung, aber vom SunRise-Server aus ist das Internet erreichbar, so kann man einen öffentlichen NTP-Server (z. B. den der Phyikalisch-technischen Bundesanstalt in Braunschweig - PTB) dafür heranziehen. Achtung: hier muss sichergestellt sein, dass die für die Synchronisation benötigten Ports in der Firewall freigeschaltet sind. Trifft beides nicht zu, so muss man eben manuell die Systemzeit aktuell halten.

Zeitsynchronisation unter Linux

Für die Synchronisation wird das Program ntpdate verwendet, das bei bei den meisten Unix-Versionen im Verzeichnis "/usr/sbin/" steht. Dieses wird in die crontab des Benutzers "root" gehängt und mindestens einmal täglich aufgerufen. Mit dem folgenden Eintrag wird z. B. der aktuelle Rechner mit dem NTP-Server xxx.xxx.xxx.xxx abgeglichen.

# Zeitabgleich mit "hunter.sisis.de"
00 7,12,18 * * * /usr/sbin/ntpdate xxx.xxx.xxx.xxx && /sbin/hwclock --systohc

Die Sequenz "&& /sbin/hwclock --systohc" bewirkt darüber hinaus, dass nicht nur die Systemzeit des Betriebssystems aktualisiert wird, sondern im Fall eines erfolgreichen Aktualisierens auch gleich die Hardware-Uhr im BIOS gestellt wird.

Zeitsynchronisation unter Solaris

Unter Solaris funktioniert das fast genauso, nur dass hier das Stellen der Hardware-Uhr mit "hwclock" nicht geht. So gleicht z. B. das BMI seinen SunRise-Server mit dem Windows-DC des BMI-Intranets ab.

# Zeitsynchronisation
00 06,12,18 * * * /usr/sbin/ntpdate -v 172.16.4.181

Der Parameter "-v" bedeutet "verbose" und bewirkt, dass ntpdate beim Aufruf genau sagt, was es mit welchem Ergebnis macht - für's (Cron-)Protokoll sozusagen.

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
Unixboard ger Winterzeitwbm
Linux-Kompendium ger Netzwerkzeitprotokollwbm
Marcus Frings ger Hilfe, bei mir tickt es nicht richtig!wbm Zeitkorrektur mittels chrony unter Linux
Johannes Franken ger Zeitabgleich in Internetswbm