Expresiones cron

Explicación y próximas ejecuciones

Sin base de datos: AIMRAN no guarda tus archivos, textos ni resultados

¿Qué es Expresiones cron?

Cron es el sistema que usan los servidores Linux para programar tareas automáticas, como copias de seguridad o envíos de correos. Sus expresiones, del tipo «*/15 9-17 * * 1-5», son difíciles de leer a simple vista.

Esta herramienta traduce cualquier expresión cron a una frase en español y te muestra las próximas diez fechas en que se ejecutará, para que compruebes que hace lo que quieres.

Cómo se usa

  1. Escribe una expresión cron de 5 campos o una macro como @daily.
  2. Lee la explicación en español y el desglose de cada campo.
  3. Revisa las próximas 10 ejecuciones.
  4. Usa una de las plantillas como punto de partida.
  5. Consulta la sintaxis si tienes dudas.

Ventajas

Detalles técnicos

Analiza el formato estándar de crontab de cinco campos: 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, donde 0 y 7 son domingo, o SUN–SAT). Admite *, listas con comas, rangos con guion, pasos con / (*/10, 0-30/5) y ? como comodín, además de las macros @yearly, @annually, @monthly, @weekly, @daily, @midnight y @hourly. Siguiendo el comportamiento de Vixie cron, si se restringen a la vez el día del mes y el día de la semana, la tarea se ejecuta cuando se cumple cualquiera de los dos. Las próximas ejecuciones se calculan en la zona horaria del dispositivo y se detectan expresiones que nunca se cumplen, como el 30 de febrero. No admite el campo de segundos ni las extensiones L, W o # de Quartz.

Preguntas frecuentes

¿Qué significa */5 * * * * en cron?

Que la tarea se ejecuta cada 5 minutos, a todas horas y todos los días.

¿Cómo programo una tarea de lunes a viernes a las 9?

Con la expresión 0 9 * * 1-5: minuto 0, hora 9, cualquier día del mes, cualquier mes y días de la semana del 1 (lunes) al 5 (viernes).

¿Cuál es el orden de los campos en cron?

Minuto, hora, día del mes, mes y día de la semana.

¿Qué pasa si pongo día del mes y día de la semana a la vez?

En cron estándar basta con que se cumpla uno de los dos. Por ejemplo, 0 0 1 * 1 se ejecuta el día 1 de cada mes y también todos los lunes.

¿Qué es @daily en crontab?

Una macro equivalente a 0 0 * * *, es decir, una vez al día a medianoche.

Más herramientas de Desarrolladores