Parser Cron

Analizar y explicar expresiones cron

Procesado localmente en su navegador
Entendiendo Expresiones Cron
TL;DR

Una expresion cron es una sintaxis de programacion basada en tiempo que usa 5 campos (minuto, hora, dia del mes, mes, dia de la semana) para definir cuando debe ejecutarse una tarea. Originalmente de Unix, cron se usa ahora en CI/CD, funciones en la nube, orquestacion de contenedores y programadores de tareas en todo el mundo.

Que es una expresion cron?

Una expresion cron es una cadena de cinco (o a veces seis) campos que define un horario recurrente. Cada campo representa una unidad de tiempo, y juntos especifican exactamente cuando debe ejecutarse un comando o tarea. Cron es el estandar de facto para la programacion de tareas basadas en tiempo en sistemas operativos, plataformas en la nube y pipelines de CI/CD.

El demonio cron verifica continuamente la hora actual contra todas las expresiones cron registradas y ejecuta las tareas que coincidan. Este sistema simple pero poderoso ha estado ejecutando tareas programadas en sistemas Unix desde 1979.

Sintaxis cron: los 5 campos

Una expresion cron estandar consta de cinco campos separados por espacios:

┌───────────── minuto (0-59)
│ ┌───────────── hora (0-23)
│ │ ┌───────────── dia del mes (1-31)
│ │ │ ┌───────────── mes (1-12)
│ │ │ │ ┌───────────── dia de la semana (0-7, donde 0 y 7 = domingo)
│ │ │ │ │
* * * * *

Caracteres especiales

CaracterSignificadoEjemploDescripcion
*Cualquier valor* * * * *Cada minuto
,Lista1,15 * * * *En el minuto 1 y 15
-Rango0 9-17 * * *Cada hora de 9 a 17
/Paso*/10 * * * *Cada 10 minutos

Patrones comunes

ExpresionHorario
0 * * * *Cada hora (en el minuto 0)
0 0 * * *Cada dia a medianoche
0 0 * * 0Cada domingo a medianoche
0 0 1 * *Primer dia de cada mes
0 0 1 1 *Una vez al ano (1 de enero)
*/15 * * * *Cada 15 minutos
0 9 * * 1-5Dias laborables a las 9 AM
0 0 L * *Ultimo dia de cada mes (no estandar)

Casos de uso comunes

  • Mantenimiento del sistema: Rotacion de logs, limpieza de archivos temporales, respaldos de bases de datos
  • Pipelines de CI/CD: Compilaciones nocturnas, despliegues programados, escaneos de seguridad periodicos
  • Funciones en la nube: AWS EventBridge, Google Cloud Scheduler y Azure Timer Triggers usan sintaxis cron
  • Monitoreo: Verificaciones de salud, recoleccion de metricas, evaluacion de umbrales de alertas
  • Procesos de negocio: Generacion de reportes, envio de resumenes por correo electronico, renovaciones de suscripciones

Prueba estos ejemplos

Cada 5 minutos Válido

Se ejecuta cada 5 minutos, las 24 horas del dia, los 7 dias de la semana. El */5 en el campo de minutos significa 'cada 5to minuto' (0, 5, 10, 15, ...).

*/5 * * * *
Dias laborables a las 9 AM Válido

Se ejecuta exactamente a las 9:00 AM, de lunes a viernes. El campo dia de la semana usa 1=lunes a 5=viernes.

0 9 * * 1-5
Primer dia de cada mes a medianoche Válido

Se ejecuta a medianoche (00:00) el primer dia de cada mes. Util para reportes mensuales o facturacion.

0 0 1 * *
Expresion invalida Inválido

Solo se proporcionaron 4 campos. El cron estandar requiere exactamente 5 campos (minuto, hora, dia del mes, mes, dia de la semana).

*/5 * * *