Zeit
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.
- Arbeitspapier von Sun zur Zeitsynchronisation von Servern
- Hinweise der PTB zu ihren öffentlichen NTP-Servern
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.
- SuSE-Portal-Seite zur Zeitsynchronisation unter SuSE Linux
- Man-Seite zu ntpdate für Linux
- Man-Seite zu hwclock
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
- Winterzeit
- Netzwerkzeitprotokoll (Linux-Kompendium)
- Hilfe, bei mir tickt es nicht richtig! (Marcus Frings) - Zeitkorrektur mittels chrony unter Linux