Parser Cron
Analizar y explicar expresiones cron
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
| Caracter | Significado | Ejemplo | Descripcion |
|---|---|---|---|
* | Cualquier valor | * * * * * | Cada minuto |
, | Lista | 1,15 * * * * | En el minuto 1 y 15 |
- | Rango | 0 9-17 * * * | Cada hora de 9 a 17 |
/ | Paso | */10 * * * * | Cada 10 minutos |
Patrones comunes
| Expresion | Horario |
|---|---|
0 * * * * | Cada hora (en el minuto 0) |
0 0 * * * | Cada dia a medianoche |
0 0 * * 0 | Cada 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-5 | Dias 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
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 * * * * 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 Se ejecuta a medianoche (00:00) el primer dia de cada mes. Util para reportes mensuales o facturacion.
0 0 1 * * Solo se proporcionaron 4 campos. El cron estandar requiere exactamente 5 campos (minuto, hora, dia del mes, mes, dia de la semana).
*/5 * * *