TanodTools
ES

Generador de expresiones cron

Arma una programación de crontab con opciones sencillas y luego revisa qué dice en palabras simples y cuándo se ejecutará.

Funciona completamente en tu navegador

Expresión cron

* * * * *

Pega una expresión de cinco campos o un atajo como @daily.

Próximas ejecuciones

Déjalo vacío para empezar desde ahora.

    ¿Ya tienes una expresión y solo quieres que te la expliquen? Usa Explicar una expresión cron.

    Cron estándar de cinco campos, como en Vixie cron y cronie: minuto, hora, día del mes, mes y día de la semana. No genera Quartz ni otros formatos con campo de segundos, y las expresiones pegadas que los controles no pueden mostrar se conservan tal como se escribieron.

    Cómo crear una expresión cron

    1. Parte de un ajuste predefinido, o configura cada campo para que se ejecute siempre, cada N unidades a partir de un inicio, en valores concretos o entre dos valores.
    2. Revisa la expresión, su descripción en palabras simples y las próximas ejecuciones en la zona horaria que usa tu servidor.
    3. Copia la expresión en tu crontab, la programación de tu CI o tu programador de tareas. También puedes pegar una expresión existente para cargarla en los controles.

    Cómo armar una programación cron

    Este generador de expresiones cron arma por ti los cinco campos separados por espacios que forman una expresión cron: minuto, hora, día del mes, mes y día de la semana. Cada campo responde una pregunta sobre cuándo debe ejecutarse la tarea, y la tarea se ejecuta cuando todos coinciden. Dejar un campo como * significa todos los valores; por eso 0 * * * * se ejecuta al inicio de cada hora y 0 0 * * * se ejecuta una vez al día a medianoche.

    El generador ofrece para cada campo cuatro formas de expresar lo que quieres. Un paso como */15 significa uno de cada 15 valores, una lista como 1,15 elige valores exactos y un rango como 9-17 cubre todo lo que hay entre dos valores. Cuando marcas valores, las secuencias de tres o más seguidos se escriben como rango, así que de lunes a viernes da 1-5 en lugar de 1,2,3,4,5.

    Hay dos trampas en las que cae casi todo el mundo. Cron usa el reloj de la máquina donde se ejecuta, así que una tarea programada para las 09:00 corre a las 09:00 hora del servidor, que puede no ser la tuya; la lista de próximas ejecuciones te permite comprobarlo en varias zonas. Y cuando tanto el campo de día del mes como el de día de la semana están restringidos, la tarea se ejecuta cuando coincide cualquiera de los dos, lo que puede significar muchas más ejecuciones de las que esperabas.

    Consejos

    Preguntas frecuentes

    ¿Cómo ejecuto una tarea cada 15 minutos?

    Configura Minuto como Cada 15 minutos a partir del 0, lo que escribe */15 * * * *. La tarea se ejecuta en los minutos 0, 15, 30 y 45 de cada hora.

    ¿Cómo se escribe un inicio distinto de 0?

    Un inicio como el minuto 5 con un paso de 10 se escribe 5-59/10, que se ejecuta en los minutos 5, 15, 25, 35, 45 y 55. La forma corta 5/10 funciona en algunas versiones de cron, pero otras la rechazan, así que la forma larga es la opción portable.

    ¿Por qué algunos días se eligen con rangos y otros con listas?

    Tres o más valores consecutivos se escriben como rango, así que de lunes a viernes es 1-5, mientras que lunes, miércoles y viernes es 1,3,5. Ambos significan exactamente los valores que marcaste.

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

    El cron estándar ejecuta la tarea cuando coincide cualquiera de los dos, no ambos. 0 9 1 * 1 se ejecuta el día 1 del mes y todos los lunes. La herramienta agrega una nota cuando tus opciones caen en ese caso.

    ¿Qué zona horaria usan las próximas ejecuciones?

    La que elijas debajo de la expresión. Cron, por su parte, usa la zona horaria de la máquina o el contenedor que lo ejecuta, salvo que el crontab defina CRON_TZ. Muchos servidores usan UTC, así que compruébalo antes de fiarte de una hora.

    ¿Admite segundos, @daily o la sintaxis de Quartz?

    Solo crea expresiones de cinco campos. Puedes pegar @daily u otro atajo, y se convierte a sus cinco campos. Las expresiones de seis campos y las de estilo Quartz se rechazan, porque su primer campo son los segundos. La herramienta Explicar una expresión cron lo indica en detalle.