Cron
Analizador de expresiones cron
Lee una programación cron en lenguaje claro y consulta sus próximas ejecuciones.
Cinco campos: minuto, hora, día del mes, mes, día de la semana. Un sexto campo al principio se lee como segundos.
Acerca de las expresiones cron
Una expresión cron son cinco campos que describen cuándo debe ejecutarse una tarea: minuto, hora, día del mes, mes y día de la semana. Cada campo admite un número, una lista, un rango o un paso como */15. Son compactas pero fáciles de leer mal —sobre todo los dos campos de día, que se combinan de una forma que casi todo el mundo supone al revés—, así que ver la programación escrita y con fechas suele ser más rápido que deducirla.
Más allá de los cinco campos numéricos, la mayoría de las implementaciones de cron —incluido el analizador que hay detrás de esta herramienta— también aceptan nombres de tres letras para meses y días de la semana (JAN, MON) en lugar de números, y un puñado de atajos como @daily, @hourly y @weekly que se expanden a la expresión numérica equivalente. Existen puramente por legibilidad; @daily y "0 0 * * *" programan de forma idéntica. Sin embargo, no todas las implementaciones de cron admiten todos los atajos, así que comprueba la documentación de tu planificador concreto antes de confiar en uno en producción.
Dónde te lo encontrarás
- Revisar una línea de crontab antes de llevarla a un servidor
- Leer una programación en un CronJob de Kubernetes o en una canalización de CI
- Averiguar por qué una tarea nocturna se lanzó a una hora inesperada
- Escribir desde cero una nueva programación de copias o de limpieza
Preguntas frecuentes
¿Qué pasa si indico a la vez día del mes y día de la semana?
Se combinan con O, no con Y: la tarea se ejecuta en cuanto coincide cualquiera de los dos. Así que «0 0 13 * 5» se dispara el día 13 de cada mes y todos los viernes, no solo los viernes 13. Es con diferencia el error más común con cron.
¿En qué zona horaria están las horas mostradas?
En UTC. Los planificadores reales usan la zona horaria de la máquina o de la definición de la tarea, así que si tu servidor va en hora local los disparos reales se desplazarán. Revisa la configuración del planificador antes de fiarte de la hora que se muestra aquí.
¿Se admiten expresiones de cinco y de seis campos?
Sí. Cinco campos es el cron de Unix estándar, que empieza en los minutos. Un sexto campo al principio añade los segundos, que es lo que esperan Quartz, Spring y varias bibliotecas de tareas.
¿Puedo escribir @daily o MON en lugar de números?
Sí. Los nombres de tres letras para meses y días de la semana (JAN, MON, etcétera) y los atajos como @daily, @hourly y @weekly se aceptan aquí y se expanden a los campos numéricos equivalentes —@daily es idéntico a "0 0 * * *". Están ampliamente, pero no universalmente, soportados: algunas implementaciones de cron mínimas o embebidas solo aceptan la forma numérica de cinco campos, así que vale la pena comprobar la documentación de tu planificador real antes de depender de un atajo en producción.