Dans ce tutoriel nous allons voir comment mettre en place rapidement un petit script avec le système CRON pour que votre système soit toujours à l’heure.
Tout d’abord pour connaitre l’heure de votre système vous devez utiliser la commande :
#date
Comme vous pouvez le constater, notre serveur n’est pas du tout à jour. Lorsque l’heure n’est plus à jour, vous pouvez la synchroniser automatiquement sur une horloge atomique. Nous allons pour cela utiliser l’utilitaire ntpdate.
Vérifions d’abord si ntpdate est installé avec la commande :
#whereis ntpdate
Pour installer ntpdate, utiliser la commande suivante :
#apt-get install ntpdate
Maintenant vous pouvez mettre à jour votre serveur avec ntpdate. Pour la mise à jour vous pouvez utiliser le pool français : fr.pool.ntp.org. Pour ce tutoriel nous utiliserons un autre serveur NTP interne mais le principe reste le même.
Pour mettre à jour votre serveur, vous devez utiliser la commande suivante :
#ntpdate ip_server_ntp
Comme vous pouvez le constater la mise à jour du serveur s’est bien déroulée malgré la différence de temps. Parfois lorsque le décalage est trop important la mise à jour ne se fait pas et il faut modifier manuellement l’heure et la date de votre machine.
Pour mettre à jour la date, utilisez la commande suivante :
#date –s 06/18/2013
L’inversion au niveau de la date est normale car on utilise le format anglo-saxon, sous la forme MM/JJ/AAAA
Pour l’heure la commande est identique, mais avec l’heure précise.
#date –s 13 :08 :00
Maintenant nous allons essayer d’automatiser le tout avec un script bash et une tâche Cron. Voici le script :
[bash]#!/bin/bashecho -e "——————————————-"
## Affiche la date et l’heure d’exécution du script
echo -e "$(date)"
## Exécute la mise à l’heure du serveur
ntpdate 192.168.123.1
echo -e "——————————————-"
## Insère un retour à la ligne au niveau de l’affichage pour plus de clarté dans le fichier log
echo -e "n"[/bash]
Voici ce que cela donne lorsqu’on exécute le script :
Une fois que notre script est prêt, nous allons créer une tâche cron pour l’exécuter toutes les 4 heures par exemple. Il existe plusieurs méthodes pour créer une tâche cron, en voici une parmi d’autres.
Commencez par éditer ou créer le fichier /etc/crontab avec la commande :
#vim /etc/crontab
Ensuite rajouter votre ligne à exécuter toutes les 4 heures. Elle sera du style :
0 */4 * * * root /root/scripts/maj_heure.sh >>/root/scripts/ maj_heure.log
J’ai rajouté une redirection lors de l’exécution du script pour logger tous les résultats.
Voici le contenu du fichier de log :
Une fois la ligne rajoutée, redémarrer le service cron pour être sûre que l’ajout soit pris en compte avec la commande :
#service cron restart
Voilà maintenant vos machines se mettront automatiquement à jour, plus de décalage dans les heures de possible.
That’s All.
Salut Mr Xhark,
Tout simplement je me suis fait plaisir.
A bientôt.
Mais pourquoi ? Pourquoi faire tout ça alors que ntpd le fait tout seul ?
Aussi préférer ntpdate -dv serveur.tld pour le debug ;)