Cómo construir expresiones cron
Las expresiones cron son la forma estándar de definir programaciones recurrentes en Linux, plataformas cloud, pipelines CI/CD y programadores de tareas. La sintaxis es compacta pero poco intuitiva — un generador visual te muestra exactamente cuándo se va a ejecutar tu tarea.
Sintaxis de cron
Una expresión cron tiene 5 campos:
┌───────────── minuto (0-59)
│ ┌───────────── hora (0-23)
│ │ ┌───────────── día del mes (1-31)
│ │ │ ┌───────────── mes (1-12)
│ │ │ │ ┌───────────── día de la semana (0-6, domingo=0)
│ │ │ │ │
* * * * *
Programaciones cron habituales
| Programación | Expresión | Significado |
|---|---|---|
| Cada minuto | * * * * * |
Se ejecuta cada 60 segundos |
| Cada 5 minutos | */5 * * * * |
A las :00, :05, :10, :15... |
| Cada hora | 0 * * * * |
Al comienzo de cada hora |
| Todos los días a medianoche | 0 0 * * * |
Una vez al día a las 00:00 |
| Todos los días a las 9 h | 0 9 * * * |
Una vez al día a las 09:00 |
| Todos los lunes a las 8 h | 0 8 * * 1 |
Semanal el lunes |
| El día 1 de cada mes | 0 0 1 * * |
Mensual a medianoche el día 1 |
| Días laborables a las 18 h | 0 18 * * 1-5 |
De lunes a viernes |
Cómo construir una expresión cron
- Define tu programación — usa los controles visuales para seleccionar los valores de minuto, hora, día, mes y día de la semana. O parte de una plantilla como «cada hora» o «todos los días a medianoche».
- Previsualiza las ejecuciones — el generador muestra las 5 próximas ejecuciones para verificar que la programación sea correcta.
- Copia la expresión — pégala en tu crontab, tu configuración CI/CD o tu programador cloud.
Caracteres especiales
| Carácter | Significado | Ejemplo |
|---|---|---|
* |
Cualquier valor | * * * * * = cada minuto |
*/n |
Cada n | */15 * * * * = cada 15 min |
, |
Varios valores | 0 8,12,18 * * * = 8 h, mediodía, 18 h |
- |
Rango | 0 9-17 * * * = cada hora de 9 a 17 h |
Consejos
- Comprueba siempre las próximas ejecuciones — las expresiones cron son fáciles de malinterpretar. La vista previa te muestra exactamente cuándo se disparará la tarea, verifícalo antes de desplegar.
- Parte de las plantillas — empieza por una programación habitual como «diaria» o «horaria» y ajusta, en lugar de escribir desde cero.
- Atención a la zona horaria — las horas de cron están en la zona del sistema (normalmente UTC en servidores). Si quieres las 9 h de Madrid, son
0 7 * * *en UTC durante el horario de verano. - Prueba con intervalos cortos — al configurar un nuevo cron, prueba con
*/5 * * * *(cada 5 minutos) para confirmar que funciona, y luego pasa a la programación final.
Preguntas frecuentes
¿Cuál es el formato de una expresión cron?
Una expresión cron estándar tiene 5 campos separados por espacios, que representan minuto (0-59), hora (0-23), día del mes (1-31), mes (1-12) y día de la semana (0-6, donde 0 es domingo). Un asterisco (*) significa «cualquier» valor para ese campo.
¿Qué significa */5 en cron?
La sintaxis */5 significa «cada 5». En el campo minuto, */5 significa cada 5 minutos (0, 5, 10, 15...). En el campo hora, */5 significa cada 5 horas. Funciona en cualquier campo.
¿Las expresiones cron son idénticas en todas las plataformas?
El formato de 5 campos es estándar en el cron de Linux, AWS EventBridge, GitHub Actions y la mayoría de los sistemas de programación. Algunas plataformas añaden un 6.º campo para los segundos o el año. Consulta la documentación de tu plataforma.
¿Cómo programar para el último día de cada mes?
El cron estándar no tiene una palabra clave de «último día». Usa una solución alternativa como una ejecución diaria con una comprobación de fecha en tu script, o usa extensiones propias de la plataforma (AWS EventBridge admite L para «last»).