Saltar al contenido

Parser de expresiones Cron

Analice las expresiones de cron y vea una explicación legible por humanos de cuándo se ejecutan. Perfecto para desarrolladores y administradores de sistemas que necesitan crear o comprender la programación de trabajos cron. Evite errores de programación visualizando exactamente cuándo se ejecutarán sus expresiones cron.

Restablecer

Preguntas frecuentes

¿Qué es una expresión cron?

Una expresión cron es una cadena de 5 ó 6 campos que define una programación para tareas automatizadas en sistemas tipo Unix. Los campos representan: 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). Por ejemplo, '0 9 * * 1' significa 'ejecutar a las 9:00 AM todos los lunes'.

¿Cómo puedo crear una expresión cron para un horario específico?

Comience con cinco asteriscos (* * * * *) que representan el minuto, la hora, el día, el mes y el día de la semana. Sustituya los asteriscos por valores o rangos específicos. Por ejemplo: '30 14 * * * *' se ejecuta a las 14:30 todos los días, '0 0 1 * * *' se ejecuta a medianoche del día 1 de cada mes, '*/15 * * * * *' se ejecuta cada 15 minutos. Utilice nuestro analizador sintáctico para comprobar que su expresión cumple sus expectativas.

¿Qué significa el asterisco (*) en cron?

Un asterisco significa "cada" o "cualquiera" para esa unidad de tiempo. Por ejemplo, * en el campo de la hora significa cada hora, * en el campo del día significa cada día. Así, "0 * * * *" significa "en el minuto 0 de cada hora" (cada hora), mientras que "* * * * *" significa "cada minuto". Es el comodín que coincide con todos los valores posibles para ese campo.

¿Cómo puedo ejecutar una tarea cron cada 5 minutos o cada N horas?

Utilice la sintaxis de valor de paso: */N. Para cada 5 minutos: '*/5 * * * *'. Por cada 3 horas: '0 */3 * * *'. La sintaxis */N significa 'cada N-ésimo valor' - por lo que */5 en el campo de minutos significa los minutos 0, 5, 10, 15, etc. También puede utilizar rangos con pasos como '0-30/5' para cada 5 minutos durante la primera media hora.

¿Puedo ejecutar una tarea cron sólo los días laborables?

Sí. Utilice 1-5 en el campo de día de la semana (el 5º campo). Por ejemplo, "0 9 * * 1-5" funciona a las 9 de la mañana de lunes a viernes. El lunes es 1 y el viernes es 5. También puede indicar días concretos: "0 9 * * 1,3,5" funciona a las 9 de la mañana sólo los lunes, miércoles y viernes.

¿Cuál es la diferencia entre el día del mes y el día de la semana?

Se trata de dos formas distintas de especificar qué días se ejecuta un trabajo. El día del mes (3er campo) utiliza las fechas 1-31, mientras que el día de la semana (5º campo) utiliza 0-7 (0 y 7 son domingo). Si se especifican ambos (no *), el trabajo se ejecuta cuando coincide AMBAS condiciones. Por ejemplo, "0 0 1 * 1" se ejecuta a medianoche del día 1 de cada mes Y todos los lunes.

¿Cómo puedo crear una expresión cron sólo para el horario laboral?

De 9 de la mañana a 5 de la tarde en días laborables: "0 9-17 * * 1-5" se ejecuta al comienzo de cada hora. Para cada 30 minutos en horario comercial: '*/30 9-17 * * 1-5'. El intervalo de horas 9-17 cubre de 9 AM a 5 PM, y 1-5 limita la ejecución a lunes a viernes.

¿Cuál es la diferencia entre '0 0 * * *' y '@daily'?

Son equivalentes: ambos se ejecutan diariamente a medianoche. Muchas implementaciones de cron admiten cadenas especiales como @diario, @horario, @semanal, @mensual y @anual como atajos. Éstos son más legibles pero menos flexibles que las expresiones completas. Utilice atajos para intervalos comunes y expresiones completas para programaciones personalizadas.

¿Pueden las expresiones cron gestionar las diferencias horarias?

Las expresiones cron estándar se ejecutan en función de la hora del sistema del servidor. Para manejar las zonas horarias, configure correctamente la zona horaria del servidor o calcule la diferencia horaria. Algunas implementaciones avanzadas de cron admiten especificaciones de zona horaria, pero el formato básico de 5 campos no incluye información de zona horaria.

¿Cómo puedo comprobar si mi expresión cron es correcta antes de desplegar?

Utilice nuestro analizador de expresiones Cron para verificar que su expresión muestra la descripción de programación esperada. El analizador explica en lenguaje sencillo cuándo se ejecutará su trabajo, ayudándole a detectar errores como "0 9 31 2 *" (el 31 de febrero no existe) antes de desplegarlo en producción.

Acerca de OneClick Pro

OneClick Pro es una colección gratuita de más de 150 herramientas web para las tareas cotidianas: convertir imágenes y unidades, dar formato y validar código, consultar dominios y SEO, y trabajar con texto, fechas y números. Todas las herramientas funcionan sin registro ni suscripción; los datos que introduce solo se utilizan para calcular el resultado y nunca se almacenan. Úsela como una caja de herramientas para tareas puntuales o añada a favoritos las que utiliza a diario.