Lector de expresiones cron
Pega una línea de crontab para saber qué significa de verdad, ver cada campo explicado con su rango permitido y obtener las cinco próximas veces que se ejecutará.
- Sin registro
- Funciona en tu navegador
- Funciona sin conexión
- No se sube nada
- Gratis
Cinco campos: minuto hora día-del-mes mes día-de-la-semana
Una expresión cron son cinco campos (minuto, hora, día del mes, mes y día de la semana) y la sintaxis es lo bastante compacta como para leerse mal con facilidad. La diferencia entre */15 * * * * y 15 * * * * es noventa y seis ejecuciones al día frente a veinticuatro, y las dos parecen razonables a primera vista.
Esto traduce la expresión a una frase y, más útil todavía, calcula las cinco próximas veces que se disparará realmente en tu zona horaria. Ver fechas reales es la forma de cazar los errores clásicos: una tarea programada para el día 31 que se salta casi todos los meses, o una que se ejecuta en silencio cada minuto de una hora concreta.
Cómo usar esta herramienta
- Escribe o pega la expresión. Cinco campos separados por espacios; un campo de segundos al principio se tolera y se ignora.
- Usa un botón de preajuste si quieres un punto de partida que ya funciona y adaptarlo.
- Lee la frase y después comprueba las cinco próximas ejecuciones: eso es lo que caza una lectura equivocada.
- Usa la tabla de campos para ver qué valor corresponde a cada posición y su rango permitido.
Ejemplo práctico
Leer una tarea heredada
Un servidor tiene 30 3 * * 0. Se lee como las 03:30 de todos los domingos, y la lista de próximas ejecuciones lo confirma: la copia de seguridad que todo el mundo daba por diaria es semanal. Eso es justo lo que la frase por sí sola no habría dejado claro.
Una tarea que se salta meses
0 0 31 * * parece una tarea mensual. La lista de próximas ejecuciones muestra que solo se dispara en los meses de 31 días, saltándose por completo febrero, abril, junio, septiembre y noviembre. Lo que casi siempre se quería es el día 1 del mes siguiente.
Usos habituales
- Entender un crontab que has heredado
- Comprobar una programación antes de desplegarla
- Explicarle a otra persona cuándo se ejecuta una tarea
- Depurar una tarea que se ejecuta demasiado a menudo o nunca
- Convertir una programación informal en una expresión correcta
- Revisar tareas programadas durante una auditoría
Errores frecuentes
- Confundir */15 con 15 —
*/15significa cada quince minutos. Un15a secas significa en el minuto quince de cada hora, la cuarta parte de la frecuencia. - Dejar un campo como * sin querer —
* 2 * * *se ejecuta sesenta veces entre las 02:00 y las 02:59, no una vez a las dos de la madrugada. Para eso hace falta0 2 * * *. - Poner los dos campos de día — Cuando el día del mes y el día de la semana están los dos restringidos, el cron clásico se ejecuta cuando coincide cualquiera de los dos, no ambos. Eso sorprende a casi todo el mundo.
- Olvidar la zona horaria del servidor — Cron usa la hora local del servidor. Una tarea escrita para las 09:00 locales se ejecuta a las 09:00 UTC en un servidor en UTC: compruébalo antes de darlo por hecho.
Preguntas frecuentes
¿Cuáles son los cinco campos?
En orden: 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). Algunos sistemas aceptan también el 7 para domingo y nombres de tres letras como MON o JAN.
¿Cómo ejecuto algo cada 15 minutos?
*/15 * * * *, es decir a y 00, y 15, y 30 e y 45 de cada hora. Para desplazarlo, indica los minutos de forma explícita: 5,20,35,50 * * * *.
¿Puede cron ejecutarse más de una vez por minuto?
No. Un minuto es la resolución más fina que ofrece el cron estándar. Para algo más corto, usa un temporizador de systemd, un proceso que duerma en bucle o un planificador pensado para eso.
¿Por qué mi tarea del día 31 no se ejecuta todos los meses?
Porque solo siete meses tienen día 31. Para una tarea mensual usa el día 1 del mes siguiente, o el 28 si tiene que ser cerca del final.
¿Qué zona horaria usan las próximas ejecuciones?
La zona horaria de tu navegador, para que las leas con comodidad. Es muy posible que tu servidor esté en UTC: compáralo antes de fiarte de estas horas para una programación en producción.
¿Se admiten @daily y @reboot?
Aquí no; esto lee la sintaxis numérica de cinco campos. Como equivalencia, @daily es 0 0 * * *, @hourly es 0 * * * * y @weekly es 0 0 * * 0.
Última actualización 2026-09-15