![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| Conseils et Didacticiels Des articles de nos utilisateurs. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| La compréhension de ce Makefile | the_learner | High Level Programming | 5 | 06-14-2007 02:55 AM |
| Besoin d'aide pour comprendre une commande Unix | chris86 | UNIX pour les nuls Questions et réponses | 6 | 10-10-2006 04:35 PM |
| Un peu d'aide pour comprendre FIFOs? | Deckard | Linux | 0 | 11-01-2005 01:46 PM |
| besoin de plus de compréhension de init.d | jigarlakhani | UNIX for Advanced & Expert Users | 1 | 09-20-2002 04:11 PM |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
|||||
|
Daylight Saving Ruled ont changé et je n'ai pas de Patch .... Que faire?
Disons que mon système est encore mis en place pour l'année dernière règle. Mon système va bientôt montrer le mauvais temps. Que dois-je faire? Une chose qui est pas une très bonne idée serait de manivelle de l'horloge avant l'heure manuellement. Si je ne suis que mon système aura le mauvais temps interne. Certains services réseau tels que NFS utiliser le temps interne. Mon système serait également ne plus avoir le temps universel. NTP (Network Time Protocol) sera le mauvais fonctionnement du système, et mon horloge dérive. Même pour mon propre fuseau horaire, j'aurais timestamps 17:00 HNE comme quand j'aurais dû 17h00 EDT. Quelques semaines plus tard, la vieille règle prendra effet, et je vais maintenant besoin d'ajuster l'horloge manuellement à nouveau. J'espère vous avoir convaincu de ne pas réinitialiser le temps de cette manière. Une meilleure option serait à la recherche de mon système de fichier de données qui définit les règles d'heure d'été pour mon fuseau horaire et l'éditer moi-même. Cela devrait être un simple changement. Mais chaque système mai avoir son propre format. Il ne semble pas près d'être une solution universelle: l'utilisation plus complexe, le format de la variable d'environnement TZ. En fait, vous pouvez mettre le Daylight Saving règle TZ et ce comportement est prescrit par Posix. Voici un tableau des paramètres TZ que je pense être correcte pour l'année 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 |
|
|||||
|
Considérations spéciales pour cron
cron répondre à l'évolution dans le temps
Si vous réglez l'heure du système tandis que cron tourne, cron avis et essayer de compenser. Si le temps passé en arrière, cron sera arrêtée d'emplois et d'attendre que l'horloge à l'avance où cron à lancer le dernier poste de travail. Si le temps passé avant, cron va essayer de rattraper le retard. Il cliquez si chaque minute jusqu'à ce que il a dirigé tous les emplois prévus au cours de la durée du temps ignorées. Si vous êtes tout simplement modifier l'horloge système, car il était en congé de quelques secondes, c'est parfait. Mais si le temps est une année de congé, il ne sera probablement pas une bonne chose. Pour les grandes adaptations de l'horloge, vous devez tuer et de redémarrer cron. cron répondra à Daylight Saving Changes Supposons que j'ai un emploi prévu pour fonctionner à 2h15 dimanche matin. Lorsque nous "avant le printemps", il n'y aura pas de 2:15. cron est à noter que nous avons "vu venir" de 60 minutes, il va ajouter 60 minutes à mon travail à faire 3h15. Elle se déroulera le travail à 3h15 ... à moins que le travail était déjà prévu pour fonctionner à la fois 2h15 et 3h15. Dans ce cas, mon travail se déroulera une fois à 3h15. Plus tard dans l'année, nous avons "retombent". Le dimanche, il sera deux fois 2h15. Mon travail ne fonctionnera lors de la première 2h15. Si mon travail est prévue pour fonctionner à 15 minutes après chaque heure par l'utilisation explicite d'un astérisque dans le domaine de mon travail en heures se déroulera à la fois 2h15 's. Ce n'est pas vrai si je l'utilise tout un éventail ou une liste d'heures à courir. Seuls les emplois d'un astérisque pour l'heure le terrain à la fois courir 2h15 's. cron a son propre fuseau horaire Si je planifier mon travail de 2h15 le matin, cron sera quand il pense que le moment est 2h15. cron est étroitement liée à la "à" commande. Si je programme à l'emploi via "at" pour fonctionner à 2h15, ma variable TZ est inspecté et de l'emploi se déroulera à mon 2:15. Mais cron ne fonctionne pas de cette façon. |
|
|||||
|
Leap Seconds
La définition d'un deuxième est soigneusement fixé. Chaque seconde est exactement aussi longtemps que toute autre seconde. Quand les scientifiques ont été liant à la valeur précise d'une seconde, ils correspondent aussi exactement que possible à l'année 1900. Il ya 24 * 60 * 60 \u003d 86400 secondes dans une journée. Mais la Terre a un peu ralenti, principalement en raison de la force des marées. Chaque année, il lui faut environ ,7 secondes supplémentaires. De temps en temps, nous avons une journée avec 86,401 secondes. Unix tente de faire croire que ce n'est pas le cas. Si vous ne disposez pas de NTP, puis périodiquement, vous devez manuellement modifier votre horloge et vous indemniser pour une seconde lors de votre prochain ajustement manuel.
Si vous exécutez NTP, Unix tente de faire la dernière seconde de la journée avec un dernier saut de 2 secondes. Avec de nombreuses applications, la deuxième avance de façon inappropriée dans le milieu de cette longue spéciale, deuxième et sera ajusté en arrière de quelques millisecondes plus tard. Donc, en ignorant le potentiel désordonné deuxième longue transition, nous traitons chaque jour comme si c'était 86.400 secondes. Par ailleurs, il a fallu près d'un siècle de la Terre à ralentir suffisamment pour ,7 besoin secondes supplémentaires chaque année. Il faudra un siècle pour ralentir suffisamment à besoin d'environ 1,4 seconde année supplémentaire. Ne pensez pas que chaque année est ,7 secondes de plus que son prédécesseur immédiat. |
|
|||||
|
Mon script Perl
Voici mon Perl script que j'ai utilisé dans cet article ... 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";
Voilà comment je vérifie que les données de fuseau horaire est correct. Je viens de calculer à la main, le deuxième quand je m'attends à l'Heure d'été pour passer et je utiliser ce script pour voir si il ne ... |
|
|||||
|
Divers Odds and Ends
Votre système d'exploitation impose des limites sur la plage de dates qu'il peut Format
Vous avez besoin de vérifier la documentation de votre système qui date, il peut supporter. Par exemple, HP-UX 11i Version 2 a écrit: Le minimum de date soutenu par mktime () dans les 32 bits et 64 bits de HP-UX est le Vendredi Décembre 13 20:45:52 UTC 1901. Le montant maximum soutenu par dates mktime () mardi 19 Janvier 03:14:07 UTC 2038 et Vendredi 31 Décembre 9999 à 23:59:59 UTC 32 bits de HP-UX et 64 bits de HP-UX, respectivement. Si le calendrier le temps ne peut pas être représenté, la fonction retourne la valeur (time_t) -1 et fixe errno à ERANGE. Note de la valeur (time_t) -1 correspond également à l'heure 23:59:59 le Dec 31, 1969 (en plus ou en moins de temps et de zone de l'heure avancée ajustements). Il est donc nécessaire de vérifier la valeur de retour et errno fiable pour détecter une condition d'erreur. Solaris 10 a écrit: Le fuseau horaire zoneinfo fichiers de données ne sont pas de transition passé Tue Jan 19 03:14:07 2038 UTC. Ainsi, pour les applications 64-bit en utilisant zoneinfo fuseaux horaires, les calculs au-delà de cette date risque de ne pas utiliser le décalage de temps standard, et peut retourner des valeurs incorrectes. Cela affecte la version 64-bit de localtime (), localtime_r (), ctime (), et ctime_r (). Nanosecond Résolution Je remarque que Posix est de spécifier une série de routines nanaosecond résolution. Je vois que Solaris 10 est mis en œuvre. Je n'ai aucune expérience avec eux et je l'ai ignoré à ce fil. Le clock_settime (3RT) dit la page man: Citation:
Si vous affichez le temps en nanosecondes, assurez-vous de garder vos yeux à proximité de l'écran. Voyage de lumière ne peut pas même un pied en une nanoseconde. ![]() Pour en savoir plus Assurez-vous de lire mtime, ctime, atime et pour plus d'informations sur les timestamps des fichiers. |
| Bookmarks |
| Tags |
| horloge, mtime, temps |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|