Generador de expresiones Cron
| Campo | Rango de valores |
|---|---|
| Minuto | 0-59 |
| Hora | 0-23 |
| Día | 1-31 |
| Mes | 1-12 |
| Día de la semana | 0-7 |
*Cualquier valor*/5Cada N unidades1-5Rango1,3,5Varios valores1-5/2Intervalo| cron.col_field | cron.col_expr | cron.col_meaning |
|---|
Genera, analiza y valida tareas programadas Cron de Linux en línea
El generador de expresiones Cron es una herramienta en línea gratuita para crear, analizar y validar tareas programadas Cron. Admite el formato estándar de cinco campos utilizado habitualmente en Linux/Unix. Puedes configurar los campos de minutos, horas, día del mes, mes y día de la semana para crear una expresión, o introducir una expresión existente para comprobar su sintaxis y sus rangos de valores, consultar las reglas de ejecución de cada campo, obtener una explicación en lenguaje natural y ver la próxima hora de ejecución. El procesamiento se realiza localmente en el navegador, sin necesidad de instalar software. Es una herramienta útil para desarrolladores, administradores de sistemas y cualquier persona que necesite configurar tareas programadas en un servidor.
Funciones principales del generador de expresiones Cron
- Generación visual: configura las reglas de ejecución de Cron mediante los cinco campos: minutos, horas, día del mes, mes y día de la semana.
- Valores predefinidos: incluye reglas habituales, como cada minuto, cada 5 minutos, cada hora, todos los días, días laborables y una vez al mes.
- Configuración rápida: utiliza botones de acceso rápido para seleccionar cualquier valor, intervalos, minutos concretos, días laborables y fines de semana.
- Generación en tiempo real: al modificar los campos, la expresión Cron de cinco campos se combina y actualiza automáticamente.
- Validación de sintaxis: comprueba el número de campos, los rangos numéricos, el formato de la expresión y la validez de los intervalos, y muestra los errores correspondientes.
- Análisis de expresiones: introduce una expresión Cron existente para analizar los valores y el significado de ejecución de cada campo.
- Explicación en lenguaje natural: convierte las reglas Cron habituales en descripciones de horarios fáciles de entender.
- Vista previa de ejecuciones: estima la próxima ejecución y varias ejecuciones posteriores según la zona horaria local del navegador.
- Referencia de sintaxis: ofrece explicaciones sobre los rangos de los campos y la sintaxis habitual, incluidos el asterisco, los intervalos, los rangos y las listas.
- Copiar expresión: copia con un solo clic una expresión generada o validada para pegarla en la configuración del servidor.
¿Qué es una expresión Cron?
Una expresión Cron es un formato de reglas que describe cuándo deben ejecutarse tareas periódicas. Se utiliza habitualmente en las tareas programadas Crontab de sistemas Linux/Unix. El sistema compara la hora actual con los campos de tiempo de la expresión y ejecuta el comando o script especificado cuando se cumplen las condiciones de programación.
Esta herramienta utiliza el formato habitual de cinco campos de Crontab en Linux/Unix. El orden de los campos es minutos, horas, día del mes, mes y día de la semana. Por ejemplo:
0 9 * * 1-5
Esta expresión indica que la tarea se ejecuta a las 09:00 de lunes a viernes.
Descripción de los cinco campos de una expresión Cron
Una expresión Cron estándar de cinco campos consta de cinco campos ordenados y separados por espacios.
1. Minutos (Minute)
El rango permitido es 0-59 y especifica el minuto de ejecución dentro de cada hora. Por ejemplo, 0 indica que se ejecuta en el minuto 0 de cada hora, mientras que */5 indica que se ejecuta cada 5 minutos.
2. Horas (Hour)
El rango permitido es 0-23 y utiliza el formato de 24 horas. Por ejemplo, 8 representa las 8 de la mañana y 18 representa las 6 de la tarde.
3. Día del mes (Day of Month)
El rango permitido es 1-31 y especifica el día del mes. Por ejemplo, 1 representa el día 1 de cada mes y 1-15 representa los días del 1 al 15. En la ejecución real, las fechas inexistentes no coinciden; por ejemplo, febrero no tiene día 31.
4. Mes (Month)
El rango permitido es 1-12, correspondiente a enero hasta diciembre. Por ejemplo, 1 representa enero de cada año y 6,12 representa junio y diciembre.
5. Día de la semana (Day of Week)
El rango permitido es 0-7. En las implementaciones habituales de Linux Cron, tanto 0 como 7 representan el domingo; los valores del 1 al 6 representan de lunes a sábado. Por ejemplo, 1-5 representa de lunes a viernes y 0,6 representa domingo y sábado.
Sintaxis habitual de las expresiones Cron
Asterisco (*)
* representa todos los valores disponibles del campo. Por ejemplo, si se utiliza * en el campo de minutos, la condición de ese campo se cumple cada minuto.
Intervalo (*/N)
*/N selecciona valores del campo según el intervalo especificado. Por ejemplo, */5 en el campo de minutos indica cada 5 minutos, mientras que */2 en el campo de horas indica cada 2 horas.
Rango (A-B)
A-B representa todos los valores comprendidos en un rango. Por ejemplo, 9-17 en el campo de horas representa las horas desde las 9:00 hasta las 17:00.
Lista (A,B,C)
A,B,C representa varios valores concretos. Por ejemplo, 8,12,18 en el campo de horas indica que la tarea se ejecuta a las 8:00, 12:00 y 18:00.
Rango con intervalo (A-B/N)
A-B/N selecciona valores dentro de un rango aplicando el intervalo especificado. Por ejemplo, 0-30/10 en el campo de minutos indica que la tarea se ejecuta en los minutos 0, 10, 20 y 30.
Intervalo desde un valor inicial (A/N)
A/N comienza en el valor especificado y aumenta según el intervalo hasta alcanzar el valor máximo permitido del campo. Por ejemplo, 5/10 en el campo de minutos indica que se ejecuta en los minutos 5, 15, 25, 35, 45 y 55.
Ejemplos de generación y análisis de expresiones Cron
Ejecutar cada minuto
* * * * * indica que la tarea se ejecuta cada minuto.
Ejecutar cada 5 minutos
*/5 * * * * indica que la tarea se ejecuta en los minutos 0, 5, 10, 15 y sucesivos de cada hora.
Ejecutar cada hora
0 * * * * indica que la tarea se ejecuta en el minuto 0 de cada hora.
Ejecutar todos los días a las 8:00
0 8 * * * indica que la tarea se ejecuta todos los días a las 08:00.
Ejecutar a las 9:00 los días laborables
0 9 * * 1-5 indica que la tarea se ejecuta a las 09:00 de lunes a viernes.
Ejecutar los lunes a las 9:00
0 9 * * 1 indica que la tarea se ejecuta todos los lunes a las 09:00.
Ejecutar a medianoche el día 1 de cada mes
0 0 1 * * indica que la tarea se ejecuta a las 00:00 del día 1 de cada mes.
Ejecutar a varias horas cada día
0 8,12,18 * * * indica que la tarea se ejecuta todos los días a las 08:00, 12:00 y 18:00.
Reglas de coincidencia entre la fecha y el día de la semana en Cron
En la semántica habitual de Vixie Cron, cuando los campos de día del mes y día de la semana contienen ambos valores restrictivos, se aplica una relación OR entre ellos, no una condición en la que ambos deban cumplirse simultáneamente. Por ejemplo:
0 8 1 * 1
Esta expresión indica que la tarea se ejecuta a las 08:00 el día 1 de cada mes y todos los lunes. Si el día 1 de un mes cae en lunes, esa fecha corresponde a una sola coincidencia y la tarea no se ejecuta dos veces por cumplirse ambas condiciones.
Cuando uno de los campos de día del mes o día de la semana utiliza *, la condición restrictiva del otro campo determina las fechas correspondientes. Si configuras simultáneamente la fecha y el día de la semana, utiliza la explicación del analizador y la vista previa de ejecuciones para comprobar el resultado.
¿Cómo utilizar el generador de expresiones Cron?
- Abre el generador y selecciona los campos de minutos, horas, día del mes, mes y día de la semana.
- Puedes elegir un valor predefinido habitual o configurar rápidamente los campos mediante los botones correspondientes.
- La herramienta genera automáticamente la expresión Cron y comprueba el formato y los rangos de valores de los campos.
- Consulta la descripción de la expresión y confirma que las reglas de ejecución sean las esperadas.
- Haz clic en el botón de copiar para pegar la expresión en Linux Crontab u otra configuración de tareas programadas compatible.
¿Cómo analizar y validar una expresión Cron?
- Cambia a la pestaña del analizador.
- Introduce la expresión Cron de cinco campos que deseas comprobar, por ejemplo,
0 9 * * 1-5. - La herramienta comprueba el número de campos, el formato, los rangos de valores y la configuración de los intervalos.
- Si la expresión es válida, consulta el contenido y el significado de cada uno de los cinco campos.
- Revisa la descripción en lenguaje natural y las próximas horas de ejecución para confirmar que las reglas de programación sean correctas.
Si la expresión tiene un número incorrecto de campos, contiene sintaxis no compatible, incluye valores fuera de los rangos permitidos o utiliza un intervalo no válido, la herramienta muestra el mensaje de error correspondiente para ayudarte a identificar el campo que debes corregir.
Vista previa de la próxima ejecución Cron
Esta herramienta permite previsualizar la próxima ejecución y varias ejecuciones posteriores de una expresión Cron para comprobar que las reglas de programación sean las esperadas. La vista previa utiliza la fecha, la hora y la zona horaria local del navegador. No es necesario enviar la expresión al servidor.
Por ejemplo, al introducir 0 9 * * 1-5, puedes consultar las próximas horas de ejecución que cumplen la regla de las 09:00 de lunes a viernes. También puedes comprobar expresiones que especifican días del mes, meses o días de la semana mediante la vista de varias ejecuciones.
La vista previa es una estimación realizada en el cliente. La ejecución real de las tareas también depende de la zona horaria del servidor, la hora del sistema, los cambios de horario de verano y la implementación concreta del programador Cron. Antes de desplegar una tarea en un servidor, utiliza como referencia el entorno Cron real del servidor.
Ejemplo de uso de Linux Crontab
En Linux puedes utilizar crontab -e para editar la configuración de tareas programadas del usuario actual. Una tarea Cron habitual de cinco campos consta de una expresión de tiempo y el comando que se debe ejecutar. Por ejemplo:
*/5 * * * * /usr/bin/php /var/www/html/task.phpEste ejemplo indica que el script PHP se ejecuta cada 5 minutos. En el uso real, ajusta el comando según las rutas de los programas del servidor, el usuario de ejecución, las variables de entorno y los permisos.
Casos de uso de las expresiones Cron
- Tareas programadas Crontab en sistemas Linux y Unix.
- Ejecución programada de scripts PHP, Python, Shell y otros en servidores.
- Actualización de datos de sitios web y mantenimiento periódico.
- Copias de seguridad de bases de datos y archivado programado.
- Limpieza de registros, archivos temporales y mantenimiento del sistema.
- Sincronización periódica de datos, llamadas a API y tareas automatizadas.
- Generación periódica de informes y procesamiento de datos.
- Programación de tareas repetitivas en entornos de desarrollo.
Precauciones al utilizar expresiones Cron
- Confirma que utilizas el formato Cron de cinco campos y comprueba la sintaxis admitida por el programador de destino.
- Verifica la hora del sistema y la zona horaria del servidor. No supongas que la zona horaria del navegador coincide con la del servidor.
- Si los campos de día del mes y día de la semana contienen restricciones simultáneas, ten en cuenta la regla de coincidencia OR de Vixie Cron habitual.
- Para reglas como los días 29, 30 o 31 de cada mes, considera el número real de días de cada mes.
- Al utilizar intervalos, rangos y listas, comprueba que los valores iniciales, finales y los intervalos sean los esperados.
- Se recomienda validar la expresión antes de desplegarla en producción y comprobar las rutas de los comandos, los permisos de ejecución y el entorno de ejecución.
Alcance de compatibilidad
Esta herramienta admite principalmente expresiones estándar de cinco campos de Crontab para Linux/Unix, incluidos los campos de minutos, horas, día del mes, mes y día de la semana, así como la sintaxis de asterisco, intervalos, rangos y listas. El campo de día de la semana admite la notación habitual 0-7, donde tanto 0 como 7 representan el domingo.
La herramienta no admite dialectos Cron de Quartz, Spring y otros sistemas que utilizan seis o siete campos, ni caracteres especiales ampliados como ?, L, W y #. Los distintos programadores Cron pueden tener diferencias semánticas; comprueba las reglas de sintaxis del entorno de destino antes de utilizar una expresión.
Preguntas frecuentes
¿Cuántos campos tiene una expresión Cron?
Las expresiones Cron estándar compatibles con esta herramienta contienen cinco campos: minutos, horas, día del mes, mes y día de la semana, separados por espacios.
¿Cuál es la expresión Cron para ejecutar una tarea cada minuto?
* * * * * indica que la tarea se ejecuta cada minuto y es una expresión habitual de Cron de cinco campos.
¿Qué significa */5 en una expresión Cron?
*/5 selecciona un valor del campo cada 5 unidades. Por ejemplo, cuando se coloca en el campo de minutos, indica que la tarea se ejecuta cada 5 minutos.
¿Qué diferencia hay entre los días de la semana 0 y 7 en Cron?
En las implementaciones habituales de Cron para Linux/Unix, tanto 0 como 7 pueden representar el domingo, mientras que 1 a 6 representan de lunes a sábado.
Cuando se configuran el día del mes y el día de la semana, ¿se utiliza AND u OR?
En la semántica habitual de Vixie Cron, si los campos de día del mes y día de la semana tienen ambos restricciones concretas, basta con que se cumpla cualquiera de las dos condiciones para ejecutar la tarea; es decir, se utiliza una relación OR. El comportamiento concreto debe confirmarse en la implementación Cron de destino.
¿Por qué una expresión Cron se valida correctamente pero la tarea no se ejecuta?
Que la sintaxis sea correcta no garantiza que la tarea se ejecute correctamente. También debes comprobar la zona horaria y la hora del servidor, el estado del servicio Crontab, el usuario de ejecución, las rutas absolutas de los comandos, los permisos de los archivos y el entorno de ejecución del programa.
¿Esta herramienta admite Quartz Cron?
No. Esta herramienta está diseñada principalmente para el formato estándar de cinco campos de Crontab en Linux/Unix. Las expresiones habituales de Quartz utilizan seis o siete campos y admiten sintaxis ampliada como ?, L, W y #; para ellas se necesita una herramienta específica de expresiones Quartz.
¿Por qué la próxima hora de ejecución puede diferir de la ejecución real del servidor?
Esta herramienta calcula la vista previa según la zona horaria local del navegador, mientras que el servidor puede utilizar otra zona horaria, otra hora del sistema o una implementación Cron diferente. Los cambios de horario de verano y las reglas propias del programador también pueden afectar a la ejecución real. Por tanto, en producción debes tomar como referencia el resultado del programador del servidor.
Resumen
El generador de expresiones Cron integra la creación de reglas programadas, el análisis de expresiones, la validación de sintaxis y la vista previa de horas de ejecución. Gracias a la configuración de cinco campos, los valores predefinidos, los ajustes rápidos y las explicaciones en lenguaje natural, permite crear y comprobar con mayor facilidad tareas programadas Linux Crontab. Tanto si se trata de scripts de servidor, copias de seguridad de bases de datos, mantenimiento de sitios web o automatización de tareas, puedes utilizar esta herramienta para generar rápidamente expresiones Cron adecuadas.
Herramienta para generar y analizar expresiones Cron
- Configura los cinco campos: minutos, horas, día del mes, mes y día de la semana
- Incluye valores Cron habituales y ajustes rápidos para los campos
- Genera y valida expresiones Cron automáticamente; comprueba el número de campos, el formato, los rangos y los intervalos
- Analiza expresiones personalizadas y muestra el significado de cada campo y su descripción en lenguaje natural
- Explica la regla de coincidencia OR entre el día del mes y el día de la semana
- Previsualiza la próxima ejecución y varias ejecuciones posteriores
- Estima las horas de ejecución según la zona horaria local del navegador
- Adecuado para Linux Crontab, scripts de servidor y tareas programadas automatizadas