Generador de expresión Cron
Genera y explica expresiones Cron comunes.
Cómo utilizar
Una expresión Cron estándar tiene cinco campos separados por espacios, en este orden: minuto (0–59), hora (0–23), día del mes (1–31), mes (1–12) y día de la semana (0–7, donde tanto 0 como 7 significan domingo). Elige un preajuste o escribe una expresión, y «Explicar» la comprueba y muestra en una tabla qué significa cada campo.
Cada campo admite * para todos los valores, un número suelto, un intervalo como 1-5, una lista como 1,15 y un paso como */15 o 0-30/10. Los pasos se cuentan desde el inicio del intervalo, así que */15 en el campo de los minutos significa los minutos 0, 15, 30 y 45, y */7 en el campo del día del mes significa los días 1, 8, 15, 22 y 29, empezando de nuevo cada mes.
Cuando tanto el día del mes como el día de la semana tienen un valor distinto de *, el Cron estándar ejecuta la tarea cuando coincide cualquiera de los dos, no solo cuando coinciden ambos. 0 9 13 * 5 se ejecuta a las 09:00 el día 13 de cada mes y todos los viernes, no solo los viernes 13.
Cron usa la zona horaria de la máquina o del servicio que lo ejecuta. Muchos programadores de tareas alojados usan UTC por defecto (GitHub Actions lo hace salvo que la programación indique una zona horaria), así que 0 9 * * * se ejecuta a las 10:00 o a las 11:00 en París o Berlín, y a las 09:00 o a las 10:00 en Lisboa o Londres. En los cambios de hora por el horario de verano, una tarea programada en la hora que se salta o se repite puede no ejecutarse, o ejecutarse dos veces, según la implementación.
Esta herramienta comprueba el formato numérico portátil. No acepta nombres de meses ni de días (JAN, MON), los caracteres especiales L, W, # y ?, atajos como @daily ni un campo de segundos o de año, y no muestra las próximas ejecuciones. Consulta la documentación de tu programador de tareas para ver qué añade.
Ejemplo
*/15 * * * * significa cada 15 minutos. El programador determina la zona horaria; esta herramienta no programa tareas.
0 9 * * *Todos los días a las 09:00.0 9 * * 1-5A las 09:00, de lunes a viernes.*/15 * * * *Cada 15 minutos: en los minutos 0, 15, 30 y 45 de cada hora.0 0 1 * *A medianoche del primer día de cada mes.30 18 * * 0,6A las 18:30 los sábados y domingos.
Preguntas frecuentes
¿Admite Cron de seis campos con segundos?
No. La herramienta usa el formato portátil de cinco campos. Algunas plataformas, como Quartz y Spring, ponen un campo de segundos al principio, y otras añaden un año al final.
¿Puedo usar nombres como MON o JAN?
No. Usa valores numéricos: 0–7 para los días de la semana y 1–12 para los meses.
¿Cómo ejecuto una tarea el último día del mes?
El Cron estándar de cinco campos no puede expresarlo directamente. Las soluciones habituales son ejecutarla los días 28–31 y que la propia tarea compruebe si mañana es día 1, o usar un programador de tareas que admita L.
¿Por qué mi tarea se ha ejecutado a una hora equivocada?
Normalmente porque el programador de tareas usa UTC o una zona horaria distinta de la tuya. Convierte la hora, o configura la zona horaria del programador si lo permite.