Explicar Expresiones Cron

Convierte cualquier cron en una frase clara y mira cuándo se ejecutará.

100% en tu navegador — no se sube nada

Entender una expresión cron en español

Referencia de campos

0–591 · minutos · * , - /
0–232 · horas · * , - /
1–313 · día del mes · * , - /
1–12 · JAN–DEC4 · mes
0–7 · SUN–SAT5 · día de la semana · 0 y 7 = domingo
@dailyAlias: @yearly · @monthly · @weekly · @daily · @hourly

Sobre este explicador de expresiones cron

La sintaxis cron es compacta pero fácil de malinterpretar: cinco campos, cada uno con su propio rango, más listas, rangos, pasos y nombres abreviados. Pega cualquier expresión de crontab estándar (como */15 9-17 * * 1-5) y esta herramienta la convierte en una oración en español claro, muestra las próximas cinco ejecuciones en tu zona horaria local y te dice exactamente qué campo es inválido cuando algo está mal.

Soporta la sintaxis estándar completa: pasos (*/15), rangos (9-17), listas (1,15), nombres de mes y de día (JAN-DEC, SUN-SAT) y los atajos @yearly, @monthly, @weekly, @daily y @hourly. Además maneja bien el detalle que confunde a todos: si defines a la vez día del mes y día de la semana, cron se ejecuta cuando cualquiera de los dos coincide. Todo se calcula localmente en tu navegador; tus horarios nunca salen de tu equipo.

Chuleta: las expresiones cron más usadas

Los cinco campos son, en orden: minuto (0-59), hora (0-23), día del mes (1-31), mes (1-12) y día de la semana (0-7, donde 0 y 7 son domingo). Estas son las que se buscan casi siempre:

ExpresiónCuándo se ejecuta
* * * * *Cada minuto
*/5 * * * *Cada 5 minutos
0 * * * *Cada hora, en el minuto 0
0 3 * * *Todos los días a las 3:00
0 9 * * 1-5De lunes a viernes a las 9:00
0 0 1 * *El día 1 de cada mes a medianoche

Ojo con "cada 30 segundos": no se puede. cron revisa las tareas una vez por minuto, así que el intervalo mínimo real es un minuto; para menos tienes que meter un sleep dentro del script o usar un timer de systemd.

Otro detalle: */5 no significa "cada 5 minutos a partir de ahora", sino los minutos 0, 5, 10… de cada hora. Si ya tienes una expresión escrita y quieres estar seguro, pégala aquí arriba: te la explica en español y te muestra las próximas cinco ejecuciones reales en tu zona horaria.

Tablas de referencia

Preguntas frecuentes

¿Qué significa cada campo de una expresión cron?

En orden: minuto (0-59), hora (0-23), día del mes (1-31), mes (1-12 o JAN-DEC) y día de la semana (0-7 o SUN-SAT; 0 y 7 son domingo). Cada campo acepta *, listas (1,15), rangos (9-17) y pasos (*/5).

¿Por qué mi cron se ejecuta más veces de las esperadas?

Casi siempre es porque definiste día del mes y día de la semana a la vez: el cron estándar se ejecuta cuando cualquiera de los dos coincide, no cuando coinciden ambos. "0 12 13 * 5" corre al mediodía los días 13 y también todos los viernes. Para exigir ambos, valida el día dentro de tu script.

¿Soporta los atajos como @daily?

Sí: @yearly, @monthly, @weekly, @daily y @hourly se expanden a su expresión de cinco campos. @reboot no se soporta porque depende del arranque de la máquina, no de una fecha que se pueda calcular.

Herramientas relacionadas