Powered by Invision Power Board


  Reply to this topicStart new topicStart Poll

> Unix Zeit <-> Normale Zeit
Tekbaron
Geschrieben am: Dienstag, 04.Dezember 2001, 11:51 Uhr


Leader
********

Gruppe: [-bmb-]Admin
Beiträge: 2385
Mitgliedsnummer.: 12
Mitglied seit: 2001-03-07




Hi kennt jemand ein Programm das das Normale Datum/Zeit in Unix Zeit umrechnet. Ich bräuchte soetwas um die GB einträge in das neue Script zu Übertragen.


--------------------
mfg Tekbaron Leader [-bmb-] Clan

user posted image

user posted image

user posted image
PMUsers WebsiteICQ
Top
Martin
Geschrieben am: Mittwoch, 05.Dezember 2001, 13:27 Uhr


KillingSpree
****

Gruppe: [-bmb-]Points
Beiträge: 130
Mitgliedsnummer.: 5
Mitglied seit: 2001-06-19




Hi Jörg !

Falls Du nur das aktuelle Datum in UNIX-Zeit (Sekunden nach 31.12.1969) haben willst, so einfach mit "date  +%s". Falls Du schon ein Datum hast, so gibt es da die Standardroutine strftime (s. man-page). Die oder eine ähnliche wird auch in PERL gemappt. Wie weiß ich nicht aus dem Kopf, kann ich aber zu Hause mal nachgucken......


--------------------
Bis dann Martin
PM
Top
Martin
Geschrieben am: Dienstag, 18.Dezember 2001, 11:15 Uhr


KillingSpree
****

Gruppe: [-bmb-]Points
Beiträge: 130
Mitgliedsnummer.: 5
Mitglied seit: 2001-06-19




Hi Jörg !


Ich hab's endlich geschafft mal in mein tolles Buch zu gucken [:lookaround:]. Ein Lob auf meinen Merkzettel.

Es gibt in PERL gute Funktionen zum Umgang mit der Zeit:

Stets verfügbar sind "time()", die die aktuelle Zeit in Sekunden seit 01.01.1970 als skalar liefert und "localtime($time)", die eine Zeit in Sekunden seit 01.01.1970 umrechnet in ein "leserliches" Datum; sie gibt ein Array zurück, in dem stehen: Sekunden (0-59), Minuten (0-59), Stunden (0-23 (?)), Tag des Monats (1(!)-...), Monat des Jahres (0-11), das Jahr seit 1900 (also 101 für 2001) und dann noch etwas, wohl Wochentag, Tag im Jahr und sonstwas.

In einem Modul (einbinden mit "use Time::Local") gibt es auch die Umkehrfunktion "timelocal($seconds, $minutes, $hours, $day_of_month, $month, $year)" mit obigen Wertebereichen und liefert das Datum in Sekunden seit 01.01.1970.

Das ganze gibt es statt für die lokale Zeit auch für Greenwich-Zeit. Die Funktionen lauten "gmtime" und "timegm", letztere im gleichen Modul wie "timelocal".

Noch Fragen ?


--------------------
Bis dann Martin
PM
Top
Tekbaron
Geschrieben am: Montag, 18.Februar 2002, 11:18 Uhr


Leader
********

Gruppe: [-bmb-]Admin
Beiträge: 2385
Mitgliedsnummer.: 12
Mitglied seit: 2001-03-07




Bezieht sich auf
SuSE Linux: Versionen ab 6.0



Frage
Wie kann man einen Timeserver unter Linux automatisch ansprechen?

Antwort
Mit Hilfe des xntp-Protokolls kann man seine Uhrzeit (und natürlich auch das Datum) immer aktuell halten. Dies ist speziell beim Betrieb von File- und Mailservern wichtig da sonst Zeitpunkte des Mailversands oder der Dateierstellung nicht nachvollziehbar sind.

Im Netzwerk (oder über Internet) muß ein Timeserver zugänglich sein. Üblicherweise verwendet man mittlerweile das ntp Protokoll zur Synchronisation der Zeit mit einem Zeitserver. Die Verwendung von netdate ist nicht empfohlen da dieses von der Laufzeit der Daten auf dem Netzwerk abhängt.

Wenn Sie eine SuSE Linux Version vor Version 7.2 einsetzen spielen Sie bitte unbedingt vor Benutzung von NTP das Security Update für NTP ein.

Vorausetzungen
Sie benötigen Zugriff auf einen Zeitserver und Sie dürfen keine Firewall verwenden die UDP Port 123 filtert da hierüber der Zeitabgleich erfolgt. Installieren Sie das Paket xntp um die im folgenden beschriebenen Programme zur Verfügung zu haben.

Einmaliges Stellen der Zeit bei Herstellen einer Einwahlverbindung
Um die momentane Uhrzeit auf die deutsche Referenzzeit der Physikalisch- Technischen Bundesanstalt zu setzen geben Sie beispielsweise das folgende Kommando am Prompt (hier fett geschrieben) als Benutzer root ein

konstriktor:~ # ntpdate ntp1.ptb.de
14 Feb 15:09:49 ntpdate[14591]: adjust time server 192.53.103.103 offset 0.000420 sec
Das Kommando zeigt ihnen also auch an wie stark Ihre Uhr vom angegebenen Zeitserver abweicht. Bekommen Sie keine Antwort ist meistens eine Firewall dazwischen die Ihre Datenpakete blockiert.

Einen Timeserver in Ihrer Nähe finden Sie über die folgende Seite heraus: http://www.eecis.udel.edu/~mills/ntp/clock1.htm

Danach sollte hwclock -w (bzw. hwclock -uw, wenn die Rechnerzeit auf GMT eingestellt ist) gestartet werden, siehe man hwclock.

Um dies bei jeder Interneteinwahl automatisch durchführen zu lassen, erstellen Sie die Datei /etc/ppp/ip-up.local und tragen dort die o.g. Befehle ein.

Mitführen der Zeit bei permanenter Netzanbindung
xntpd ist ein Daemon der die Zeit ständig mit einem Timeserver abgleicht. Xntpd berichtigt die Zeit nur in kleinen Schritten, es macht dies durch Dehnung, bzw. Stauchung der Systemzeit. Die Monotonie bleibt erhalten!

Probleme kann es daher geben, wenn die lokale Zeit zu stark (mehr als 10 Minuten) von der des Timeservers abweicht. In diesem Fall also einmal ntpdate und hwclock (s.o.) starten.

Konfiguration von XNTPD: Suchen und setzen Sie in /etc/rc.config:

START_XNTPD=yes
Um den Server einzustellen, mit dem synchronisiert werden soll müssen Sie die Datei /etc/ntp.conf editieren. Diese Datei kann bei Ihnen beispielsweise wie folgt aussehen (Kommentarzeilen hier der Übersicht halber nicht angegeben):

server ntp1.ptb.de
server ntp2.ptb.de
driftfile /etc/ntp.drift    # path for drift file
logfile   /var/log/ntp      # alternate log file
Führen Sie danach SuSEconfig aus und starten Sie dann den NTP-Daemon mit

rcxntpd start
Um zu überprüfen ob Ihr Zeitserver richtig läuft können Sie nach ein paar Minuten das Kommando ntpq verwenden (auch als normaler Benutzer). Geben Sie das fettgedruckte Kommando am Prompt ein.

konstriktor:~>/usr/sbin/ntpq -c peers
    remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntp1.ptb.de     .PTB.            1 u   32  128  377   42.371   -0.664   1.349
+ntp2.ptb.de     .PTB.            1 u  100  128  377   43.329    0.121   3.259
Aus der Ausgabe können Sie sehen ob die Synchronisation mit den Zeitservern klappt (Das Zeichen in der ersten Spalte) und wie groß die Laufzeit der Pakete auf dem Netzwerk ist ("delay").

Ausführliche Dokumentation dazu finden Sie in /usr/share/doc/packages/xntp/ und online auf www.ntp.org.

Weitere für die Zeiteinstellung relevante Variablen in /etc/rc.config (Kommentare siehe dort):

TIMEZONE - in Deutschland MET.
GMT - bestimmt, ob die Rechneruhr auf lokale oder GMT-Zeit eingestellt ist.
Auf der Seite http://www.eecis.udel.edu/~mills/ntp/clock1.htm finden Sie weitere öffentliche NTP Server


--------------------
mfg Tekbaron Leader [-bmb-] Clan

user posted image

user posted image

user posted image
PMUsers WebsiteICQ
Top
Tekbaron
Geschrieben am: Freitag, 07.Dezember 2001, 16:11 Uhr


Leader
********

Gruppe: [-bmb-]Admin
Beiträge: 2385
Mitgliedsnummer.: 12
Mitglied seit: 2001-03-07




Gibst da kein cgi oder perl script für ??????? jaja ich weiss ich bin fault :)


--------------------
mfg Tekbaron Leader [-bmb-] Clan

user posted image

user posted image

user posted image
PMUsers WebsiteICQ
Top

Topic Options Reply to this topicStart new topicStart Poll