⏰ Generador de Expresiones Cron
El Generador de Cron de TextSorter es una herramienta gratuita para desarrolladores que te permite crear horarios cron de forma visual y previsualizar las próximas ejecuciones
Entendiendo la Sintaxis de las Expresiones Cron
Una expresión cron es una cadena compacta que indica a un planificador exactamente cuándo ejecutar una tarea. El formato estándar usado en Linux, macOS y la mayoría de las plataformas en la nube consta de cinco campos separados por espacios. Cada campo controla una unidad de tiempo distinta, y juntos definen un horario recurrente preciso.
Los Cinco Campos
| Campo | Valores Permitidos | Descripción |
|---|---|---|
| Minuto | 0 a 59 | El minuto de la hora en que se dispara la tarea |
| Hora | 0 a 23 | La hora del día en formato de 24 horas |
| Día del Mes | 1 a 31 | El día del calendario dentro del mes |
| Mes | 1 a 12 | El mes del año (ene = 1, dic = 12) |
| Día de la Semana | 0 a 6 | El día de la semana (domingo = 0, sábado = 6) |
Caracteres Especiales
- Asterisco (*) coincide con cualquier valor posible de ese campo. Por ejemplo,
*en el campo de horas significa "cada hora." - Coma (,) separa una lista de valores específicos. Escribir
1,15en el campo del día del mes significa "el día 1 y el 15." - Guion (-) define un rango inclusivo.
9-17en el campo de horas significa "cada hora desde las 9 hasta las 17." - Barra (/) especifica un intervalo de pasos.
*/10en el campo de minutos significa "cada 10 minutos" (0, 10, 20, 30, 40, 50).
Combinando estos caracteres puedes expresar prácticamente cualquier horario recurrente, desde intervalos simples hasta patrones complejos de varios días. Comprender esta sintaxis es la base para automatizar tareas de forma confiable en servidores, contenedores y servicios en la nube.
Cron en Linux, Unix y macOS
El daemon cron ha sido un pilar de la automatización de tareas en sistemas operativos tipo Unix desde la década de 1970. En las distribuciones modernas de Linux y en macOS, cron se ejecuta como un servicio en segundo plano que se activa cada minuto, lee el archivo crontab de cada usuario y ejecuta cualquier tarea cuyo horario coincida con la hora actual.
Gestionar tu Crontab
Se interactúa con cron mediante el comando crontab. Ejecuta crontab -e para abrir tu crontab personal en un editor de texto. Cada línea sigue el patrón minuto hora día-del-mes mes día-de-la-semana comando. Después de guardar y cerrar el archivo, cron aplica los cambios automáticamente.
crontab -llista todas las tareas de tu crontab actualcrontab -eabre el crontab para editarlocrontab -relimina todo tu crontab (úsalo con cuidado)
Errores Comunes
Uno de los problemas más frecuentes con las tareas cron son las diferencias de entorno. Cron ejecuta los comandos en un entorno de shell mínimo, por lo que las rutas y variables en las que confías en tu terminal interactiva pueden no estar disponibles. Usa siempre rutas absolutas hacia los ejecutables y scripts dentro de las entradas de crontab. Otro error común es olvidar redirigir la salida: por defecto, cron envía por correo cualquier salida estándar o de error al usuario, lo que puede llenar silenciosamente las colas de correo. Redirige la salida a un archivo de registro o a /dev/null si no la necesitas.
La conciencia de la zona horaria también es importante. Cron evalúa los horarios según el reloj del sistema. Si tu servidor está configurado en UTC pero quieres que una tarea se ejecute a las 9 de la mañana hora del Este, necesitas calcular el equivalente en UTC o configurar la variable CRON_TZ (compatible en algunos sistemas). En macOS, launchd es el planificador preferido, pero cron sigue siendo totalmente funcional y se usa ampliamente para tareas de programación rápidas y sencillas.
Patrones y Ejemplos Comunes de Cron
Aunque la sintaxis cron es lo bastante flexible como para expresar casi cualquier horario, la mayoría de los casos de uso reales se agrupan en un puñado de patrones comunes. Tener una referencia de estos patrones ahorra tiempo y evita errores al configurar nuevas tareas.
Horarios Usados con Frecuencia
* * * * *se ejecuta cada minuto. Útil para comprobaciones de estado, workers de colas o scripts de monitoreo que necesitan ejecutarse casi en tiempo real.*/5 * * * *se ejecuta cada cinco minutos. Un intervalo popular para sincronizar datos entre sistemas, refrescar cachés o consultar APIs externas.0 * * * *se ejecuta una vez por hora, en punto. Ideal para informes horarios, rotación de registros o tareas periódicas de limpieza.0 0 * * *se ejecuta a medianoche todos los días. La opción clásica para copias de seguridad nocturnas, mantenimiento de bases de datos y correos de resumen diario.0 9 * * 1-5se ejecuta a las 9 de la mañana todos los días laborables (de lunes a viernes). Perfecto para automatizaciones en horario laboral, como recordatorios diarios de reuniones o informes matutinos.0 0 1 * *se ejecuta a medianoche el primer día de cada mes. Ideal para ciclos de facturación mensuales, generación de informes o revisiones de renovación de certificados.0 0 * * 0se ejecuta a medianoche cada domingo. Una buena opción para ventanas de mantenimiento semanales, copias de seguridad completas o correos de resumen semanal.
Combinando Patrones
Puedes combinar caracteres especiales para crear horarios más específicos. Por ejemplo, 30 6,18 * * * se dispara a las 6:30 de la mañana y a las 6:30 de la tarde todos los días, mientras que 0 9-17 * * 1-5 se ejecuta cada hora desde las 9 hasta las 17 solo en días laborables. La coma y el operador de rango son especialmente potentes cuando se usan juntos, permitiendo horarios como "cada 15 minutos durante el horario laboral el día 1 y el 15 de cada mes."
Al construir expresiones complejas, siempre conviene verificarlas con una herramienta como este generador. Un valor mal colocado puede hacer que una tarea se ejecute con mucha más frecuencia de la prevista, lo que podría sobrecargar tu sistema o duplicar operaciones. Comprobar las próximas cinco ejecuciones te da la confianza inmediata de que el horario coincide con lo esperado.
Cron en Servicios en la Nube y Plataformas Modernas
Las expresiones cron han superado sus orígenes en Unix y hoy son una interfaz estándar para la programación de tareas en los principales proveedores de nube y en los frameworks de aplicaciones modernos. Entender cómo cada plataforma implementa la programación tipo cron te ayuda a elegir la herramienta adecuada para tu infraestructura.
AWS EventBridge (CloudWatch Events)
Amazon Web Services usa expresiones cron en EventBridge Scheduler (antes CloudWatch Events) para disparar funciones Lambda, Step Functions y otros servicios de AWS según un horario. AWS extiende el formato estándar de cinco campos a seis añadiendo un campo de año y admite un comodín ? para el día del mes o el día de la semana cuando se especifica el otro. Por ejemplo, cron(0 12 ? * MON-FRI *) se dispara a mediodía UTC cada día laborable. EventBridge también ofrece una sintaxis rate() más simple para intervalos básicos como rate(5 minutes).
Google Cloud Scheduler
Google Cloud Scheduler acepta expresiones cron estándar de Unix y añade soporte de zona horaria directamente en la configuración de la tarea. Se especifica tanto una expresión cron como una zona horaria de destino (por ejemplo, "America/New_York"), y el planificador gestiona automáticamente las transiciones de horario de verano. Los destinos pueden ser endpoints HTTP, temas de Pub/Sub o servicios de App Engine.
Azure Functions y Logic Apps
Microsoft Azure usa expresiones NCRONTAB en los disparadores de temporizador de Azure Functions. Estas constan de seis campos (se añaden los segundos como primer campo): {second} {minute} {hour} {day} {month} {day-of-week}. Azure Logic Apps también admite disparadores de recurrencia configurados mediante patrones tipo cron en la definición del flujo de trabajo.
CronJobs de Kubernetes
Kubernetes ofrece un recurso nativo CronJob que utiliza expresiones cron estándar de cinco campos para programar cargas de trabajo en contenedores. El controlador de CronJob crea un nuevo objeto Job en cada horario programado, y puedes configurar políticas de concurrencia, límites de historial y tolerancias de plazo. Este es el enfoque preferido para el procesamiento por lotes periódico en entornos de orquestación de contenedores.
Sin importar la plataforma, la sintaxis cron básica se mantiene constante. Dominar el formato de cinco campos cubierto en esta página te prepara para trabajar con la programación de tareas en cualquier sistema, desde un único servidor Linux hasta una arquitectura multi-nube global.
🔒 100% Privado y Gratuito
Toda la creación de expresiones cron y la vista previa de horarios ocurre completamente en tu navegador. Ningún dato sale nunca de tu dispositivo. Sin procesamiento en servidor, sin registros, sin necesidad de registrarte.