Lección 1

¿Qué es cron?

Jobs programados y dónde aparece cron Unix de cinco campos.

Cron es un programador de tareas basado en tiempo. En la tradición Unix, una expresión cron (o línea crontab) indica al sistema cuándo ejecutar un comando o disparar un job — no qué hace el job.

Una línea, cinco decisiones

El cron Unix clásico usa cinco campos separados por espacios:

minute  hour  day-of-month  month  day-of-week

Ejemplo: 0 9 * * 1-5 significa «en el minuto 0, hora 9, cada día del mes, cada mes, en días laborables (lunes–viernes)». En lenguaje llano: 09:00 en días laborables.

El ejecutor de jobs evalúa la hora actual contra cada campo. Cuando todos coinciden, el job se dispara.

Dónde te encuentras con cron

ContextoUso típico
Linux crontab -eRotación de logs, backups, calentamiento de caché
Kubernetes CronJobLimpieza de namespace, generación de informes
GitHub Actions scheduleBuilds nocturnos, escaneos de dependencias
Programadores cloud gestionadosReglas Lambda/EventBridge (a menudo con extensiones)
Bibliotecas de aplicaciónProgramadores in-process inspirados en sintaxis cron

No toda plataforma usa reglas de cinco campos idénticas — lee siempre la documentación de esa plataforma — pero el modelo mental se transfiere.

Cron vs temporizadores por intervalo

«Cada 5 minutos» puede expresarse como */5 * * * * en cron, o como temporizador de intervalo simple en código. Cron destaca cuando los schedules se alinean con límites de reloj de pared (cada día a las 02:00, primer día del mes, días laborables a las 09:00).

Los temporizadores por intervalo destacan para «cada N segundos desde el inicio del proceso». Elige la herramienta que coincida con expectativas operativas.

Cron no garantiza exactly-once

Pueden perderse ejecuciones si el host estuvo caído, la ejecución anterior superó su ventana o límites de concurrencia bloquearon un nuevo inicio. Diseña jobs idempotentes y seguros si se ejecutan dos veces o se omiten una vez.

Conclusión clave

Las expresiones cron son schedules compactos. La siguiente lección desglosa la gramática de cada campo — *, listas, rangos y pasos — para que puedas leer cualquier línea con confianza.

Volver al resumen del curso