(Fast) jeder Rechner verfügt heute über eine eingebaute Uhr, die über eine eingebaute Batterie die Uhrzeit auch im ausgeschalteten Zustand weiterlaufen lässt, so
dass immer eine korrekte Systemzeit eingestellt ist. Das Betriebssystem kümmert sich während der Laufzeit um die richtige Zeit und
liest sie einmalig beim Systemstart aus der Hardware-Uhr aus. Die Zeit des Betriebssystems lässt sich mit dem Kommando
date
anzeigen.
bash-2.03$ date Sat Jan 22 17:54:00 CET 2000
Die Uhrzeit, die vom Uhrenchip auf dem Motherboard geliefert wird, ist normalerweise ausreichend genau. Wenn diese Zeit nach dem Einschalten des Rechners um mehrere Monate oder Jahre abweicht, sollten Sie die Batterie auf dem Motherboard auswechseln (lassen).
Das Kommando
date
, so wie oben gezeigt, zeigt den Wochentag, den
Monat, den Tag, die Uhrzeit, die Zeitzone sowie das Jahr an.
Ein weiteres Kommando, welches auf die Systemzeit zugreift, ist das Kommando
time
. Dieses zeigt allerdings nicht die Zeit an, wie man
vielleicht vermuten könnte, sondern dient dazu, die Zeit festzulegen, die bestimmte
Kommandos zur Ausführung benötigen.
time sleep 60 real 1m0.057s user 0m0.000s sys 0m0.000s
Wundern Sie sich nicht: Dieses Kommando benötigt natürlich eine Minute, bis es beendet wird.
Das Kommando
sleep
„schläft“ in diesem Beispiel 60 Sekunden, und
time
ermittelt diese Zeit ;-)
. Wenn Sie sich einen neuen Rechner zugelegt haben und
Ihre Freunde wissen, dass Sie diesen unter GNU/Linux betreiben, werden sie vielleicht
fragen, wie lange es dauert, einen neuen Kernel zu übersetzen. Sie können diese Zeit mit
dem Kommando time
ermitteln. Natürlich kommt es auch darauf an, welche
Treiber Sie in den Kernel einbinden wollen und welche Kernel-Version Sie übersetzen.
Doch das ist ein anderes Thema.
Um die Systemzeit auf Ihrem Rechner zu korrigieren, können Sie dieses
Kommando als Superuser benutzen. date
hat eine Vielzahl von Optionen, um die Zeit zu
stellen, Sie können die gewünschte Zeit in allen nur denkbaren Formaten angeben. Es
gibt folgende Optionen:
bash-2.03$ date --help Usage: date [OPTION]... [+FORMAT] or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]] Display the current time in the given FORMAT, or set the system date. -d, --date=STRING display time described by STRING, not 'now' -f, --file=DATEFILE like --date once for each line of DATEFILE -I, --iso-8601[=TIMESPEC] output an ISO-8601 compliant date/time string. TIMESPEC=`date' (or missing) for date only, 'hours', 'minutes', or 'seconds' for date and time to the indicated precision. -r, --reference=FILE display the last modification time of FILE -R, --rfc-822 output RFC-822 compliant date string -s, --set=STRING set time described by STRING -u, --utc, --universal print or set Coordinated Universal Time --help display this help and exit --version output version information and exit FORMAT controls the output. The only valid option for the second form specifies Coordinated Universal Time. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (Sun..Sat) %A locale's full weekday name, variable length (Sunday..Saturday) %b locale's abbreviated month name (Jan..Dec) %B locale's full month name, variable length (January..December) %c locale's date and time (Sat Nov 04 12:02:33 EST 1989) %d day of month (01..31) %D date (mm/dd/yy) %e day of month, blank padded ( 1..31) %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) %k hour ( 0..23) %l hour ( 1..12) %m month (01..12) %M minute (00..59) %n a newline %p locale's AM or PM %r time, 12-hour (hh:mm:ss [AP]M) %s seconds since 00:00:00, Jan 1, 1970 (a GNU extension) %S second (00..60) %t a horizontal tab %T time, 24-hour (hh:mm:ss) %U week number of year with Sunday as first day of week (00..53) %V week number of year with Monday as first day of week (01..52) %w day of week (0..6); 0 represents Sunday %W week number of year with Monday as first day of week (00..53) %x locale's date representation (mm/dd/yy) %X locale's time representation (%H:%M:%S) %y last two digits of year (00..99) %Y year (1970...) %z RFC-822 style numeric timezone (-0500) (a nonstandard extension) %Z time zone (e.g., EDT), or nothing if no time zone is determinable By default, date pads numeric fields with zeroes. GNU date recognizes the following modifiers between `%' and a numeric directive. `-' (hyphen) do not pad the field `_' (underscore) pad the field with spaces Report bugs to <bug-sh-utils@gnu.org>.
In der Praxis werden Sie die Zeit aber nur selten korrigieren müssen, so dass an
dieser Stelle ein Beispiel reichen sollte. Sehen Sie sich noch einmal die Hilfe zu date
an. In der zweiten Zeile finden Sie Folgendes:
or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]]
. Die
gewünschte Zeit kann im Format MM (Month - Monat), DD (Day - Tag), hh (Hour -
Stunde) und mm (Minute) angegeben werden. Die anderen Werte können Sie ignorieren,
diese werden Sie nur selten gebrauchen. Um die Zeit drei Tage und eine halbe Stunde
zurückzustellen, benutzen Sie folgendes Kommando:
linux:/home# date Sun Jan 23 10:47:59 CET 2000 linux:/home# date 01201017 Thu Jan 20 10:17:00 CET 2000
Wenn Sie über einen Internetanschluss verfügen, können Sie das Setzen der
korrekten Uhrzeit auch Programmen wie zum Beispiel
rdate
überlassen. rdate
übernimmt die Zeit von einem Server aus dem Netz, der über
eine Funkuhr (DCF77-Signal) verfügt.
Sie können dieses Kommando in die Skripte einbinden, die Sie zum Aufbau der
Internetverbindung benutzen. Wenn Ihr Rechner ständig oder immer zu bestimmten
Zeiten mit dem Internet verbunden ist, können Sie rdate
auch über das Programm
cron
aufrufen, indem Sie es in die
crontab
des Superusers eintragen. Rufen Sie dazu das
Kommando crontab
mit der Option -e
(edit - verändern) auf:
bash-2.03$ su Password: linux:/home# crontab -e
Ergänzen Sie nun die Einträge in der Crontab um folgende Zeile:
10 01 * * * /usr/sbin/rdate time.fu-berlin.de > /dev/null
Ein solcher Eintrag stellt jede Nacht um zehn Minuten nach eins die Systemzeit nach den Angaben des Servers time.fu-berlin.de
neu. Benutzen Sie bitte einen
Server in Ihrer Nähe. Viele Provider bieten einen solchen Service an - fragen Sie
einfach nach.
Wenn Sie keinen geeigneten Server finden können, sollten Sie die Server der Physikalisch-Technischen Bundesanstalt (PTB) in Braunschweig benutzen. Wie Sie vielleicht wissen, wird von der
PTB das amtliche Zeitsignal ausgesendet, das von DCF-77-Empfängern (Funkuhren) empfangen werden kann. Seit Anfang 2000
stellt die PTB diesen Dienst auch über das Internet zur Verfügung. Sie können die
beiden öffentlichen Zeitserver der PTB als ptbtime1.ptb.de
und ptbtime2.ptb.de
erreichen.
Um die vorhin in die Vergangenheit beförderte Systemzeit zu korrigieren, können
Sie
rdate
natürlich auch auf der Kommandozeile
ausführen:
linux:/home# /usr/sbin/rdate time.fu-berlin.de Sun Jan 23 10:49:22 2000
© 1999 - 2024 | Das Debian GNU/Linux Anwenderhandbuch von Frank Ronneburg steht unter einer Creative Commons Namensnennung-Nicht Kommerziell-Keine Bearbeitung 3.0 Deutschland Lizenz.