¿Cron */6 horas pero con un desplazamiento?

¿Cron */6 horas pero con un desplazamiento?

Tengo varios dispositivos ejecutando un trabajo cron similar. Actualmente estoy configurando un cron de minutos y horas en un número aleatorio (de esa manera no se ejecutan todos a la vez).

$random_minute $random_hour * * * sudo /bin/script

Quiero mantener este patrón de hacer que cada dispositivo sea aleatorio, pero también tengo un script que debe ejecutarse cada 6 horas. ¿Cómo puedo combinar algo como lo anterior con */6?

Respuesta1

El día no tiene tantas horas, así que ¿por qué no simplemente

17 3,9,15,21 * * * sudo /bin/script

para ejecutarse a las 03:17 y cada 6 horas en adelante?

Las alternativas implicarían agregar un modo de suspensión al propio programa:

0 */6 * * * (sleep 11820; sudo /bin/script)

o ejecutar el script con más frecuencia (digamos, cada hora) y hacer que el script simplemente salga si el trabajo real se ejecutó en las últimas <6 horas.

Respuesta2

Con algunas cronimplementaciones, puede utilizar:

17 3-23/6 * * * * some command

información relacionada