![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Tipps und Tutorials Hilfreiche Texte von unseren Nutzern. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Das Verständnis dieses Makefile | the_learner | High-Level-Programmierung | 5 | 06-14-2007 02:55 AM |
| Brauchen Sie Hilfe Verständnis einer Unix-Befehl | chris86 | UNIX for Dummies Questions & Answers | 6 | 10-10-2006 04:35 PM |
| Eine kleine Hilfe Verständnis FIFOs? | Deckard | Linux | 0 | 11-01-2005 01:46 PM |
| weitere Verständnis von init.d | jigarlakhani | UNIX für Fortgeschrittene und Experten | 1 | 09-20-2002 04:11 PM |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
|||||
|
Sommerzeit in die Hauptstadt haben sich geändert und ich habe keinen Patch .... Was ist zu tun?
Nehmen wir an, mein System ist noch bis zum letzten Artikel. Mein System wird schon bald zur falschen Zeit. Was soll ich tun? Eine Sache, die ist nicht eine sehr gute Idee wäre, Kurbel um die Uhr eine Stunde nach vorn manuell. Wenn ich, dass mein System wird die interne Zeit falsch. Einige Netzwerk-Dienste wie NFS Verwenden Sie die interne Zeit. Mein System würde auch nicht mehr über das richtige Weltzeit. NTP (Network Time Protocol) die Fehlfunktion, und mein System die Uhr wird Drift. Auch für meine eigene Zeitzone, hätte ich wie Zeitstempel 17:00 EST, wenn ich hätte 17:00 MESZ. Ein paar Wochen später, die alte Regelung in Kraft treten, und ich werde jetzt brauchen, um die Uhrzeit auch manuell wieder. Ich hoffe, dass ich Sie davon überzeugt haben, nicht die Zeit auf diese Art und Weise. Eine bessere Alternative wäre die Forschung mein System die Daten-Datei, die die Sommerzeit-Regeln für meine Zeitzone und bearbeiten sie mich. Dies sollte eine einfach ändern. Aber jeder kann seine eigenen Format. Es scheint als in der Nähe von universelle Lösung: Verwenden Sie eine komplexere Format für die TZ-Umgebungsvariable. Sie können tatsächlich die Sommerzeit in der Regel TZ und dieses Verhalten ist im Auftrag von Posix. Im Folgenden finden Sie eine Tabelle für die TZ-Einstellungen, die ich der Meinung, korrekt zu sein für das Jahr 2007. Code:
# Posix Format TZ="EST5EDT4,M3.2.0/02:00:00,M11.1.0/02:00:00" # US Eastern TZ="CST6CDT5,M3.2.0/02:00:00,M11.1.0/02:00:00" # US Central TZ="MST7MDT6,M3.2.0/02:00:00,M11.1.0/02:00:00" # US Mountain TZ="PST8PDT7,M3.2.0/02:00:00,M11.1.0/02:00:00" # US Pacific TZ="AST9ADT8,M3.2.0/02:00:00,M11.1.0/02:00:00" # US Alaska TZ="HST10" # US Hawaii # Old System V Release 3.1 and Xenix Format TZ="EST5EDT4;M3.2.0/02:00:00,M11.1.0/02:00:00" # US Eastern TZ="CST6CDT5;M3.2.0/02:00:00,M11.1.0/02:00:00" # US Central TZ="MST7MDT6;M3.2.0/02:00:00,M11.1.0/02:00:00" # US Mountain TZ="PST8PDT7;M3.2.0/02:00:00,M11.1.0/02:00:00" # US Pacific TZ="AST9ADT8;M3.2.0/02:00:00,M11.1.0/02:00:00" # US Alaska TZ="HST10" # US Hawaii |
|
|||||
|
Spezielle Hinweise für Cron
cron wird sich im Wandel der Zeit
Wenn Sie das System während Cron ausgeführt wird, werden feststellen, cron und versuchen zu kompensieren. Wenn die Zeit rückwärts bewegt, wird die cron-Jobs laufen, und warten Sie auf die Uhr, um zurück zu cron das letzte Angebot. Wenn es die Zeit nach vorne bewegt, cron wird versuchen, aufzuholen. Es wird aber klicken Sie auf jede Minute, bis es laufen alle der geplanten Arbeitsplätze in der Zeit Dauer übersprungen. Wenn Sie sich nur um Retuschen die Systemuhr, weil es aus ein paar Sekunden, das ist perfekt. Aber wenn die Zeit ist ein Jahr aus, wird es wahrscheinlich nicht für eine gute Sache. Für große Anpassungen der Uhr sollten Sie töten, und starten Sie Cron. cron wird auf Sommerzeit Änderungen Angenommen, ich habe eine Arbeit, deren Laufzeit am Sonntagmorgen 2.15 Uhr. Wenn wir "Frühling voraus", es wird kein 2.15. cron wird feststellen, dass wir "vor Sprung" von 60 Minuten, so wird sie 60 Minuten Zeit, um meine Arbeit immer 3.15. Es wird die Aufgabe bei 3:15 ... es sei denn, der Job wurde bereits geplant, um auf 2:15 und 3:15. In diesem Fall, meine Arbeit wird einmal auf 3:15. Später im Jahr haben wir "zurück". An diesem Sonntag, es wird zweimal 2:15. Meine Aufgabe wird nur bei der ersten 2:15. Wenn meine Arbeit ist für die Dauer von 15 Minuten nach jeder vollen Stunde über die explizite Verwendung von einem Stern in der Stunde Bereich meiner Arbeit wird auf 2.15 's. Das ist nicht wahr, wenn ich eine Reihe oder eine Liste von Stunden zu laufen. Nur Stellenangebote mit einem Stern für die Stunde Bereich laufen auf 2.15 's. Cron hat seine eigene Zeitzone Wenn ich meine Arbeit Zeitplan für 2.15 Uhr am Morgen, cron wird es, wenn es der Ansicht, dass die Zeit ist 2:15. Cron ist eng mit dem "at"-Befehl. Wenn ich Zeitplan von Arbeitsplätzen durch "at", um 2.15 Uhr auf, meine TZ Variable wird kontrolliert und die Arbeit läuft auf meinem 2.15. Aber cron funktioniert nicht so. |
|
|||||
|
Schaltsekunden
Die Definition einer Sekunde genau festgelegt. Jeder zweite ist genau so lange, wie jeder andere Sekunde. Wenn Wissenschaftler Kopplungsprodukt die genaue Wert von einer zweiten, sie mit so genau wie möglich auf das Jahr 1900. Es sind 24 * 60 * 60 \u003d 86400 Sekunden pro Tag. Aber die Erde hat sich ein bisschen was vor allem auf die Gezeitenkräfte. Jedes Jahr muss über ,7 Sekunden extra. Hin und wieder haben wir einen Tag mit 86.401 Sekunden. Unix versucht, so zu tun, dass dies nicht der Fall ist. Wenn Sie nicht mit NTP, dann müssen Sie in regelmäßigen Abständen manuell optimieren Ihre Uhr und werden Sie für eine Schaltsekunde während Ihres nächsten manuellen Einstellung.
Wenn Sie mit NTP, Unix versucht, der letzten Sekunde des Tages mit einer Schaltsekunde letzten 2 Sekunden lang gedrückt. Bei vielen Implementierungen, die zweite wird unangemessen vorab in der Mitte dieser besonderen Sekunden lang und wird nach hinten ein paar Millisekunden später. So ignorieren die potenziellen messy zweiten lange Übergangszeit, behandeln wir jeden Tag so, als ob es 86400 Sekunden lang. By the way, es dauerte über ein Jahrhundert, die Erde zu verlangsamen genug Bedarf ,7 Sekunden extra pro Jahr. Es wird ein anderes Jahrhundert zu verlangsamen genug, um rund 1,4 Sekunden benötigen weiteres Jahr. Glaube nicht, dass jedes Jahr ist ,7 Sekunden länger als die seiner unmittelbaren Vorgänger. |
|
|||||
|
Mein Perl-Skript
Hier ist meine Perl Skript, das ich in diesem Artikel ... Code:
#! /usr/local/bin/perl
sub printtime($)
{
@d=localtime $_[0];
printf "%12d %3s %4d-%02d-%02d %02d:%02d:%02d %s\n", $_[0],
(Sun,Mon,Tue,Wed,Thu,Fri,Sat)[$d[6]],
$d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0],
("Standard Time","Daylight Saving Time")[$d[8]];
}
while (do {print "Enter val - "; chomp($val = <>)}) {
print "val = ", $val, "\n";
printtime $val;
printtime $val+1;
}
print "\n";
Dies ist, wie ich überprüfen, ob die Zeitzone Daten korrekt sind. Ich habe gerade Berechnung von Hand die zweite, wenn ich erwarte, dass die Sommerzeit zu wechseln und ich verwende dieses Skript, um zu sehen, wenn sie nicht ... |
|
|||||
|
Verschiedenes Odds und endet
Ihr OS Grenzen über die Bandbreite der Daten, dass sie Format
Sie müssen sich in der Dokumentation zu Ihrem System, in dem es Daten verarbeiten kann. Zum Beispiel, HP-UX 11i Version 2 sagt: Die Mindest-Datum von mktime () in 32-Bit-und 64-Bit HP-UX ist Freitag, der 13. Dezember 20:45:52 UTC 1901. Die maximale Daten von mktime () sind Dienstag 19 Januar 03:14:07 UTC 2038, und Freitag, Dez 31 23:59:59 UTC 9999 im 32-Bit HP-UX-und 64-Bit HP-UX, respectively. Wenn der Kalender kann nicht vertreten sein, die Funktion liefert den Wert (time_t) -1 und setzt errno zu ERANGE. Notieren Sie sich den Wert (time_t) -1 entspricht auch der Zeit 23:59:59 am 31 Dezember, 1969 (plus oder minus Zeitzone und Sommerzeit Anpassungen). Daher ist es notwendig, sowohl den Rückgabewert und errno zuverlässig Fehler Zustand. Solaris 10 sagt: Die Zeitzone zoneinfo Dateien nicht Übergang Vergangenheit Tue Jan 19 03:14:07 2038 UTC. Daher für 64-Bit-Anwendungen mit zoneinfo Zeitzonen, Berechnungen über diesen Zeitpunkt hinaus möglicherweise nicht die richtigen Ausgleich von Standard Time, und könnte falsche Werte zurück. Dies wirkt sich auf die 64-Bit-Version von localtime (), localtime_r (), ctime (), und ctime_r (). Nanosekunden-Auflösung Ich stelle fest, dass Posix gibt eine Vielzahl von nanaosecond Auflösung Routinen. Ich sehe, dass Solaris 10 hat sie. Ich habe keine Erfahrungen mit ihnen, und ich habe sie ignoriert, für diesen Thread. Die clock_settime (3RT) Manpage: Zitat:
Wenn Sie die Zeit in Nanosekunden, achten Sie darauf, halten Sie die Augen sehr nahe an den Bildschirm. Licht kann nicht einmal eine Reise voller Fuß in einer Nanosekunde. ![]() Weitere Lektüre Stellen Sie sicher, dass zu lesen mtime, ctime und atime für Informationen über die Zeitstempel von Dateien. |
| Lesezeichen |
| Tags |
| Uhr, mtime, Zeitmessung |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|