DevOps

Constructor de expresión cron

Armá tu cron paso a paso sin memorizar la sintaxis. Vista previa en lenguaje natural y soporte para todos los patrones comunes.

Instantáneo🔒En tu navegadorSin registro
En vivo

Anatomía de una expresión cron

Cron es un demonio de Unix que ejecuta comandos en horarios programados. Existe desde 1975 y prácticamente no cambió en su sintaxis básica. Una expresión cron tiene 5 campos separados por espacios:

┌──── minuto (0-59)
│ ┌── hora (0-23)
│ │ ┌── día del mes (1-31)
│ │ │ ┌── mes (1-12)
│ │ │ │ ┌── día de la semana (0-6, 0=Domingo)
│ │ │ │ │
* * * * *

Caracteres especiales

  • * — cualquier valor. * * * * * es cada minuto.
  • , — lista de valores. 0 9,12,18 * * * a las 9, 12 y 18.
  • - — rango. 0 9-17 * * * cada hora de 9 a 17.
  • / — paso. */5 * * * * cada 5 minutos.

Ejemplos prácticos

  • 0 0 * * * — todos los días a medianoche.
  • */15 * * * * — cada 15 minutos.
  • 0 9 * * 1-5 — de lunes a viernes a las 9 AM.
  • 0 0 1 * * — el primer día de cada mes a medianoche.
  • 0 0 * * 0 — todos los domingos a medianoche.
  • 30 14 * * 6 — todos los sábados a las 14:30.

Casos de uso típicos

  • Backups. Diarios a la madrugada cuando hay menos carga.
  • Reportes automáticos. Generar y enviar un dashboard cada lunes a las 8 AM.
  • Limpieza de archivos temporales. Borrar /tmp cada hora.
  • Jobs de procesamiento. Ejecutar análisis de datos cada noche.
  • Health checks. Pingear endpoints cada minuto.
  • Sincronización con APIs. Pull de datos cada 15 minutos.

Trampas comunes

  • Día del mes Y día de semana. 0 0 1 * 1 NO es "primer día del mes Y lunes". Es "primer día del mes O lunes". El operador es OR cuando ambos están especificados.
  • Zona horaria. Cron usa la zona horaria del servidor. Si tu server está en UTC y querés ejecutar a las 9 AM Buenos Aires (UTC-3), poné 0 12 * * *.
  • Usuarios de cron. En Linux, cada usuario tiene su crontab. crontab -e edita el del usuario actual; sudo crontab -e edita el de root.
  • PATH y entorno. Los jobs de cron corren en un entorno mínimo. Si tu script depende de variables de entorno, definilas explícitamente al inicio.

Alternativas modernas a cron

Cron sigue vivo pero hay alternativas más sofisticadas. systemd timers en Linux ofrecen logging integrado, dependencias, ejecución a la próxima oportunidad si el sistema estaba apagado. GitHub Actions y GitLab CI permiten schedules con sintaxis cron pero corriendo en infraestructura cloud. AWS EventBridge y Google Cloud Scheduler son las opciones gestionadas.

Validación antes de poner en producción

Pegar mal una expresión cron puede traer consecuencias. Si pretendías "una vez por día a la 1 AM" pero terminaste con 1 * * * * (a los 01 minutos de cada hora), te ejecutó 24 veces en lugar de 1. Antes de subir a producción, verificá la expresión con un explicador en lenguaje natural y asegurate de que la próxima ejecución es la que esperabas.

Preguntas frecuentes

¿Qué es una expresión cron?

String de 5 campos que define cuándo ejecutar una tarea programada en sistemas Unix.

¿Es el formato estándar Unix?

Sí, 5 campos compatible con cron de Linux, macOS y la mayoría de schedulers.

¿Soporta extensiones tipo Quartz?

No. Quartz agrega un sexto campo de segundos y caracteres como L y W.

¿Te sirvió este generador?