*/20 * * * *
Asegura que se ejecuta cada 20 minutos, me gustaría ejecutar una tarea cada 20 minutos, comenzando a las 5 pasadas las horas, ¿es esto posible con Cron? Podría ser:
5/20 * * * *
?
*/20 * * * *
Asegura que se ejecuta cada 20 minutos, me gustaría ejecutar una tarea cada 20 minutos, comenzando a las 5 pasadas las horas, ¿es esto posible con Cron? Podría ser:
5/20 * * * *
?
Respuestas:
Para ejecutar una tarea cada 20 minutos a partir de las 5 pasadas la hora, intente esto:
5-59/20 * * * *
Explicación
Un *
campo en el minuto es el mismo que 0-59/1
donde 0-59
está el rango y 1
es el paso . El comando se ejecutará en el primer minuto en el rango (0), luego en todos los minutos sucesivos que estén distantes del primero por el paso (1), hasta el último (59).
Es por eso que */20 * * * *
se ejecutará a los 0 minutos, 20 minutos después y 40 minutos después, que es lo mismo que cada 20 minutos. Sin embargo, */25 * * * *
se ejecutará a los 0 minutos, 25 minutos después y 50 minutos después, lo que no es lo mismo que cada 25 minutos. Es por eso que generalmente es deseable usar un valor de paso en el campo de minutos que se divide de manera uniforme en 60.
Entonces, para compensar el tiempo de inicio, especifique el rango explícitamente y establezca el primer valor en la cantidad del desplazamiento.
Ejemplos
5-59/20 * * * *
funcionará 5 minutos después, 25 minutos después y 45 minutos después.
10-59/25 * * * *
funcionará a los 10 minutos y 35 minutos después.
1-59/2 * * * *
correrá cada minuto impar.
¡Por supuesto!
5,25,45 * * * * /your/cron
5-59/20
es posible, pero 5,25,45
tiene la ventaja de que de inmediato queda muy claro lo que hace.
Puedes probar: */5 * * * * sleep N; your job
sleep `shuf -i 1-100 -n 1`
Hace el truco.