Ejecute el trabajo Cron cada N minutos más el desplazamiento
*/20 * * * *
Garantiza que se ejecute cada 20 minutos. Me gustaría ejecutar una tarea cada 20 minutos, comenzando a las 5 en punto, ¿es esto posible con Cron? Podría ser:
5/20 * * * *
?
Para ejecutar una tarea cada 20 minutos a partir de las 5 en punto, intente esto:
5-59/20 * * * *
Explicación
Un *
campo en el minuto es lo mismo que 0-59/1
donde 0-59
está el rango y 1
el paso . El comando se ejecutará en el primer minuto en el rango (0), luego en todos los minutos sucesivos que estén alejados 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. Por eso suele ser conveniente utilizar un valor de paso en el campo de minutos que se divida uniformemente entre 60.
Entonces, para compensar la hora de inicio, especifique el rango explícitamente y establezca el primer valor en la cantidad del desplazamiento.
Ejemplos
5-59/20 * * * *
se ejecutará 5 minutos después, 25 minutos después y 45 minutos después.
10-59/25 * * * *
se ejecutará 10 minutos después y 35 minutos después.
1-59/2 * * * *
se ejecutará cada minuto impar.
¡Seguro!
5,25,45 * * * * /your/cron
Puedes probar:*/5 * * * * sleep N; your job