Intérprete de expresiones cron

Traduce cualquier expresión cron a palabras, consulta sus próximas ejecuciones y crea una desde plantillas.

«Cada 15 minutos, entre las 09:00 y las 17:59, de lunes a viernes»

próxima: Calculando…

Sintaxis

Pon el cursor en un campo, o pulsa su nombre debajo de la expresión, para ver qué admite.

*cualquier valor
,separa una lista de valores
-rango de valores
/intervalo: cada n valores
?igual que *, solo en los dos campos de día
0-59valores admitidos · Minuto
0-23valores admitidos · Hora
1-31valores admitidos · Día del mes
1-12valores admitidos · Mes
JAN-DECnombres equivalentes, en inglés (da igual mayúsculas o minúsculas)
0-6valores admitidos · Día de la semana
SUN-SATnombres equivalentes, en inglés (da igual mayúsculas o minúsculas)
7también domingo

Plantillas

Atajos

Sobre el intérprete de expresiones cron

Los horarios de cron son compactos y es fácil equivocarse con ellos. Escribe o pega una expresión como */15 9-17 * * 1-5 para leerla en palabras, ver cuándo se ejecuta la próxima vez y sus diez próximas ejecuciones, en tu zona horaria o en UTC, y revisar qué admite cada campo. Todo se actualiza mientras escribes y nada sale de tu navegador.

Cómo usar el intérprete de expresiones cron

  1. Escribe o pega la expresión

    Escríbela en el campo grande o empieza con una plantilla, un atajo como @daily o Aleatoria. Con cinco campos son minuto, hora, día del mes, mes y día de la semana; con seis, el primero son los segundos.

  2. Léela en palabras

    La frase sobre la expresión dice cuándo se ejecuta, y la línea de debajo da la próxima ejecución. Pon el cursor en un campo, o pulsa su nombre debajo de la expresión, para seleccionarlo y ver los símbolos y valores que admite.

  3. Revisa las próximas ejecuciones

    Abre la lista de las 10 próximas ejecuciones y cambia entre tu zona horaria y UTC: los servidores suelen ejecutar cron en UTC, así que la misma expresión puede saltar a otra hora local.

Casos de uso

Revisar un crontab antes de desplegar

Confirma que una copia de seguridad, un informe o una tarea de limpieza se ejecuta cuando crees, y no cada minuto de una hora por un * de más.

Leer horarios de CI y servicios en la nube

GitHub Actions, los CronJobs de Kubernetes y muchos programadores de tareas usan los mismos cinco campos, normalmente en UTC; la vista UTC muestra cuándo se lanzan esas tareas.

Aprender la sintaxis de cron

Edita un campo cada vez y mira cómo cambian a la vez la descripción, la referencia del campo y las ejecuciones.

Preguntas frecuentes

¿Qué pasa si se indican a la vez el día del mes y el día de la semana?

El cron estándar ejecuta la tarea cualquier día que cumpla uno de los dos campos, no solo los días que cumplen ambos: 0 9 1-7 * 1 se ejecuta a las 09:00 cada uno de los siete primeros días del mes y, además, todos los lunes. Si uno de los dos campos empieza por *, deben cumplirse los dos, así que 0 9 * * 1 solo se ejecuta los lunes. La página avisa cuando se aplica esta regla.

¿Admite segundos, L, W o #?

Un sexto campo al principio se lee como segundos, como en Spring, Quartz y node-cron. L (último), W (día laborable más cercano), # (enésimo día de la semana del mes) y un séptimo campo para el año son extensiones de Quartz que el cron estándar no tiene, así que se indican como no admitidas. ? se acepta en los dos campos de día como equivalente a *.

¿En qué zona horaria están las próximas ejecuciones?

Por defecto, en la zona horaria que indica tu navegador, que aparece sobre la lista; el botón UTC muestra las mismas ejecuciones en UTC. Un servicio cron usa la zona horaria del servidor donde funciona, así que elige la que coincida.

¿Qué pasa con los cambios de hora?

La lista sigue a Vixie cron y cronie, el cron de la mayoría de los sistemas Linux. Cuando se adelantan los relojes, una tarea programada a una hora que ese día no existe (las 02:30 en gran parte de Europa) se ejecuta justo después del cambio, marcada como «Cambio de hora». Cuando se retrasan, se ejecuta una sola vez. Las tareas con * en el campo de minuto o de hora siguen el reloj sin más.

¿Por qué dice que una expresión nunca se ejecuta?

Porque la fecha que pide no existe, como 0 0 30 2 * (el 30 de febrero). La búsqueda mira cinco años hacia delante, así que el 29 de febrero sigue apareciendo al menos una vez.