Mettre à l’heure votre Debian Wheezy avec NTPDATE.

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

ntpdate_debian_1

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

ntpdate_debian_2

Pour installer ntpdate, utiliser la commande suivante :

#apt-get install ntpdate

ntpdate_debian_3

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

ntpdate_debian_4

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

ntpdate_debian_5

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

ntpdate_debian_6

Maintenant nous allons essayer d’automatiser le tout avec un script bash et une tâche Cron. Voici le script :

[bash]#!/bin/bash
echo -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 :

ntpdate_debian_7

N’oublier pas de rendre le script exécutable avec la commande chmod u+x nom_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

ntpdate_debian_8 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

ntpdate_debian_9

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 :

ntpdate_debian_9aUne 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

ntpdate_debian_10

Voilà maintenant vos machines se mettront automatiquement à jour, plus de décalage dans les heures de possible.

That’s All.

2 Potins

  1. Salut Mr Xhark,

    Tout simplement je me suis fait plaisir.

    A bientôt.

  2. Mais pourquoi ? Pourquoi faire tout ça alors que ntpd le fait tout seul ?

    Aussi préférer ntpdate -dv serveur.tld pour le debug ;)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *