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.