Comment puis-je modifier l'heure de mon serveur ?
Trois possibilités s'offrent à vous pour corriger l'heure de votre serveur :
· Par une saisie de commandes, voir paragraphe A
· Par une entrée dans le fichier crontab de l'utilisateur racine, voir paragraphe C
· Par l'utilisation du démon NTP, voir paragraphe C
Ces trois possibilités appellent l'heure actuelle de certains ordinateurs sur Internet, que l'on appelle des serveurs de temps, et qui donnent l'heure locale (ainsi que la bonne date). Pour finir, l'heure de votre serveur sera rectifiée. La synchronisation du temps s'effectue par l'utilisation d'un Protocole d'Heure Réseau (NTP).
Les serveurs de temps suivants ont été utilisés dans ce mode d'emploi :
- ntp1.rz-ip.net
- ntp2.rz-ip.net
Vous pouvez bien évidemment également vous connecter à d'autres ou à plusieurs serveurs de temps. Le temps affiché sur votre serveur sera plus précis, si vous le connectez à plus de serveurs de temps.
Vous trouverez ici une liste de tous les serveurs accessibles dans le monde :
http://www.eecis.udel.edu/~mills/ntp/clock1a.html
Comment puis-je me connecter avec PuTTY à mon serveur ?
A) Correction de l'heure par une saisie de commandes
Veuillez exécuter, en tant qu'utilisateur racine, la commande suivante :
/usr/sbin/ntpdate ntp1.rz-ip.net |
Cette commande demande au serveur de temps ntp1.rz-ip.net des indications actuelles sur le temps puis transmet à votre serveur ce qu'on appelle l'heure du système. Sur les systèmes Linux, cette heure du système désigne l'heure qui est gérée par le système d'exploitation.
En cas d'échec de la demande d'heure, vous obtiendrez le message d'erreur suivant :
[…] ntpdate[2512]: the NTP socket is in use, exiting
Cela signifie que le port 123 n'est pas disponible pour le programme ntpdate. Vous avez cependant besoin de ce port ntpdate pour demander l'heure à d'autres ordinateurs. Veuillez, dans ce cas, vérifier les paramètres de votre pare-feu ou des filtres du pack sur votre serveur et si le démon NTP est actif (voir paragraphe C).
Si vous souhaitez également actualiser l'heure de l'horloge matérielle (également connue sous les noms horloge temps réel, HTR, RTC, RealTimeClock, horloge CMOS ou BIOS) sur votre serveur, veuillez ensuite exécuter la commande suivante :
hwclock --systohc |
Les indications actuelles du temps, connues par le système d'exploitation, sont transmises à l'horloge matérielle de votre ordinateur. Lors du redémarrage de votre ordinateur, la nouvelle heure de l'horloge matérielle est transmise à l'horloge du système dans Linux.
Veuillez tenir compte du fait que l'exécution unique des deux commandes décrites dans ce paragraphe ne permet pas que l'horloge du système et celle du matériel de votre serveur soient durablement correctes.
Si votre serveur n'a pas été redémarré pendant plusieurs mois, vous remarquerez une divergence non négligeable des indications d'heure réelles. Afin d'assurer que votre serveur indique toujours la bonne heure, veuillez suivre les instructions des paragraphes B ou C-
B) Correction de l'heure par une entrée dans le fichier crontab de l'utilisateur racine
Ouvrez en premier le fichier crontab de l'utilisateur racine en exécutant la commande suivante en tant qu'utilisateur racine :
crontab –e |
Activez le mode d'insertion en appuyant sur la touche « i ».
Ajoutez désormais une nouvelle ligne dotée du contenu suivant :
0-59/5 * * * * /usr/sbin/ntpdate ntp1.rz-ip.net |
Cette commande permet d'inscrire toutes les cinq minutes dans votre système d'exploitation Linux l'heure actuelle du serveur de temps ntp1.rz-ip.net.
En ajoutant hwclock, vous pouvez même faire écrire ces indications sur l'horloge matérielle. Avec Debian, l'entrée serait :
0-59/5 * * * * /usr/sbin/ntpdate ntp1.rz-ip.net && /usr/sbin/hwclock –-systohc |
Veuillez tenir compte du fait que le chemin vers hwclock diverge selon les systèmes d'exploitation.
Veuillez ensuite vérifier le contenu du fichier log /var/log/messages vis-à-vis des messages sortis par le démon cron.
C) Correction de l'heure par l'utilisation du démon NTP
Vous pouvez paramétrer votre ordinateur de telle sorte qu'il obtienne, grâce à l'utilisation du démon NTP, à cinq minutes d'intervalle, l'heure actuelle de la part d’un ou plusieurs serveurs de temps. Sous SuSE, c'est le démon XNTP qui est utilisé.
Suivez les étapes suivantes pour installer la synchronisation régulière de l'heure de votre serveur à l’aide de deux serveurs de temps qui se situent dans le centre de données de STRATO :
1. Connectez-vous sur la console en tant qu'utilisateur racine.
2. Assurez-vous que le pack xntp soit installé sur votre serveur. Vérifiez ceci par le biais de l'interface Yast en recherchant dans l'espace Installer ou supprimer un logiciel le pack xntp.
3. Vérifiez, à l'aide de la commande suivante, si le démon XNTP fonctionne :
rcxntpd status |
Si tel est le cas, arrêtez-le à l'aide de la commande qui suit :
rcxntpd stop |
4. Inscrivez dans le fichier /etc/ntp.conf les lignes suivantes :
server ntp1.rz-ip.net |
Les deux premières lignes définissent le serveur de temps dans le centre de données de STRATO auquel votre serveur fait appel.
La troisième ligne définit ce qu'on appelle le fichier drift dans lequel est sauvegardée la différence entre l'heure du système de votre serveur et l'heure réelle. Veuillez tenir compte du fait que les divergences temporelles proviennent entre autres du fait que la connexion entre votre serveur et un ou plusieurs serveurs de temps n'est pas directe. D'autres serveurs peuvent en effet se situer entre eux. À chaque redémarrage du démon XNTP, ce dernier utilise les informations de ce fichier afin de tenir compte des divergences temporelles en mettant l'heure du système.
Dans la mesure où c'est connu, le démon XNTP génère lui-même le fichier drift. Vous ne devez pas vous en occuper. Quelques heures plus tard, le démon XNTP écrit la différence reçue dans ce fichier dans le calcul du temps de votre serveur.
Les deux dernières lignes du /etc/ntpd.conf définissent le lieu du fichier log XNTPD et l'étendue de la consignation du démon XNTP.
5. Pour initialiser la synchronisation du temps, il faut que le temps des deux serveurs de temps soit pris en considération. Exécutez, pour ce faire, les commandes suivantes :
ntpdate –b ntp1.rz-ip.net |
6. Dans l'idéal, le démon NTPD doit être redémarré à chaque lancement du système. Le script de lancement du démon XNTP doit alors être intégré dans le processus de démarrage de votre serveur. Exécutez ainsi la commande suivante :
/sbin/insserv xntpd |
Le message suivant va apparaître sur la console :
« insserv: script visas: service apachevisas already provided! »
Vous pouvez l'ignorer. Dans Yast, vous pouvez suivre l'intégration dans le processus de démarrage. (Espace : Système -> Éditeur du run level -> Propriétés du run level).
7. Veillez cependant à ce que le démon XNTP soit actif. Exécutez la commande suivante :
rcxntpd status |
Veuillez tenir compte du fait que votre serveur n'indique pas aussitôt la bonne heure, une fois que vous avez suivi ces étapes. Cela dure en règle générale plusieurs heures avant que votre serveur ait transmis la bonne heure à l'aide du fichier /etc/ntp.drift et de l'accès régulier au serveur de temps.
Vous pouvez obtenir l'heure du système de votre ordinateur actuellement paramétrée à l'aide de la commande suivante :
date |
8. Veuillez vérifier si le fichier log XNTPD comprend des messages d'erreur.
9. Redémarrez le démon XNTP au bout de 24 heures et vérifiez que :
· a) votre serveur affiche la bonne heure
· b) des chiffres figurent dans le fichier /var/lib/ntp/ntp.drift.