Pour mettre à l'heure mes serveurs, j'utilise la crontab.
Mais je me suis dit qu'il était bête de solliciter un serveur NTP juste au changement de minute et qu'il serait pertinent d'introduire un délai aléatoire pour répartir mieux la charge.
Le code sleep $[ ( $RANDOM % 58 ) + 2 ]s fonctionne trés bien dans une invite de commande, mais pas dans la crontab, pourquoi ?
Dans la crontab, il ne cherche pas a remplacer les $ par la valeur calculée !
# mise a l'heure chaque heure entre à la première minute, entre 00:02min et 00:59min
00 * * * * sleep $[ ( $RANDOM % 58 ) + 2 ]s ; /usr/sbin/ntpdate 192.168.1.1 >>/home/log/ntpdate/ntpdate.log 2>&1