URL: https://linuxfr.org/users/djojo/journaux/lu-sur-undeadly-les-montres-molles Title: [lu sur Undeadly] Les montres molles Authors: Joris Dedieu Date: 2023年06月12日T17:45:59+02:00 License: CC By-SA Tags: cron, openbsd, random, systemd et freebsd Score: 31 Afin de mitiger le problème du [troupeau tonitruants](https://en.wikipedia.org/wiki/Thundering_herd_problem) lors de l’exécution de jobs sur un grand nombre d'appareils (typiquement écrouer les serveurs quand tout le monde fait la même mise à jour au même moment), [l'artiste](https://www.undeadly.org/cgi?action=article&sid=20080513124856) a implémenté une solution carrément plus élégante que ce qu'on peut trouver en cherchant 2 mn dans son [cerveau tordu de SysAdmin](https://stackoverflow.com/questions/9049460/cron-jobs-and-random-times-within-given-hours) Comme par exemple ```cron 30 8-21/* * * * sleep ${RANDOM:0:2}m ; /path/to/script.php ``` ou encore ``` 0 1 * * * * perl -le 'sleep rand 9000' && *command goes here* ``` Pour ceux qui utilisent [l'OS du bien](https://www.openbsd.org/), on pourra désormais écrire des choses comme : __exécuter la commande toutes les dix minutes en commençant à une minute aléatoire entre 0 et 9__ ``` ~/10 * * * * ``` C'est trop la classe ! C'est plus précis que l'option jitter (ou Jitter) de FreeBSD qui permet de demander à cron de décaler tous les jobs d'un nombre de seconde aléatoire entre 0 et la valeur de l'option. Du plaisir pour ceux qui aiment donc. Les autres sont déjà servis avec les options RandomizedDelaySec et FixedRandomDelay de systemd.timer L'annonce : https://undeadly.org/cgi?action=article;sid=20230507122935 