Script Synchro NTP

Pour synchroniser votre horloge système, vous pouvez paramétrer le service NTP, mais pour une raison encore inconnue, cela ne fonctionnait pas sur ma machine.

J’ai dû me résoudre à placer dans mes tâches cron un script qui va synchroniser l’horloge pour moi.

Pour ne pas saturer le serveur NTP internet à une heure fixe, le script que j’ai utilisé incorpore une valeur aléatoire à la tâche. En effet comme mon horloge sera synchro avec celle du serveur, il allait recevoir chaque jour une requète venant de ma machine à la même heure.
Si 100000 machines font de même, le serveur serait super chargé à cette heure fixe et pas le reste du temps.

J’ai donc créé un script avec ce contenu récolté sur Internet:

#!/bin/sh
#
# $Id: sync-clock,v 1.6 2003/09/23 21:39:29 jmates Exp $
#
# Use ntpdate to get rough clock sync with department of Genome Sciences
# time server.

NTPDATE=/usr/sbin/ntpdate
SERVER="ntp.univ-angers.fr"

# if running from cron (no tty available), sleep a bit to space
# out update requests to avoid slamming a server at a particular time
if ! test -t 0; then
MYRAND=$RANDOM
MYRAND=$MYRAND:=$$

if [ $MYRAND -gt 9 ]; then
sleep `echo $MYRAND | sed 's/.*\(..\)$/\1/' | sed 's/^0//'`
fi
fi

$NTPDATE -su $SERVER

# update hardware clock on Linux (RedHat?) systems
if [ -f /sbin/hwclock ]; then
/sbin/hwclock --systohc
fi

J’ai nommé /usr/bin/monscript.sh ce script

Un fois créé, il faut le rendre exécutables par la commande chmod +x /usr/bin/monscript.sh.

Il ne reste plus qu’à le plannifier avec la commande crontab -e.

Ajoutez une ligne comme ceci dans votre crontab :
20 23 * * * /usr/bin/monscript.sh

Cela va lancer la tâche tous les jours à 23h20.

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.