WMW

Generador de Expresiones Cron

Free

Crea y analiza expresiones cron con un editor de campos en vivo, una descripción en lenguaje sencillo y las próximas 5 ejecuciones reales. Admite ajustes predefinidos, atajos @ y la variante opcional de 6 campos con segundos.

Se ejecuta completamente en tu navegador. Las próximas ejecuciones se calculan usando el reloj y la zona horaria de tu propio dispositivo.

En Lenguaje Sencillo

Próximas 5 Ejecuciones

Basado en la fecha, hora y zona horaria actuales de tu dispositivo.

    Actividad reciente

    Visible para todos. Últimos 20 usos de todos los visitantes, más recientes primero.

    Aún no hay actividad. Sé el primero.

    Comentarios (0)

    ¿Te ha resultado útil esta herramienta? Deja un comentario, comparte un consejo o cuéntanos cómo podemos mejorarla.

    Los comentarios de invitados se revisan antes de publicarse. Iniciar sesión para publicar al instante.

    Aún no hay comentarios. ¡Sé el primero en compartir tu opinión!

    Qué hace esta herramienta

    Cron Expression Generator crea y explica programaciones cron usadas por cron de Unix/Linux, GitHub Actions, CronJobs de Kubernetes y programadores similares. Edita la expresión directamente o rellena los campos individuales de minuto/hora/día, y ve al instante una descripción en lenguaje sencillo además de las próximas 5 veces que realmente se ejecutaría.

    Cómo funciona

    Cada campo se analiza en el conjunto exacto de valores que coincide: * se expande al rango completo del campo, N-M se expande a cada valor de N a M, N-M/S (o */S) mantiene cada S-ésimo valor de ese rango, y los elementos separados por comas se combinan. Un día se considera una coincidencia cuando su fecha satisface el campo de mes, y el campo día-del-mes o el campo día-de-la-semana (ambos, si uno de los dos se deja como "*"; cualquiera de los dos, si ambos están restringidos -- la regla O estándar de cron).

    Para encontrar las próximas ejecuciones, la herramienta parte de tu hora local actual y salta hacia adelante campo por campo -- directamente al siguiente mes coincidente si el actual no califica, directamente al siguiente día coincidente si el mes está bien pero el día no, y así sucesivamente hasta el minuto (y el segundo, si está habilitado). Este salto campo por campo es lo que permite que incluso una programación rara como "solo el 29 de febrero" se resuelva al instante hasta el próximo año bisiesto en lugar de tener que comprobar cada día intermedio uno por uno.

    Problemas que resuelve

    Preguntas frecuentes

    ›¿Qué significan los cinco campos de una expresión cron?

    De izquierda a derecha: 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 significan domingo). Una programación clásica estilo Quartz/Spring añade un sexto campo para los segundos al principio, que esta herramienta admite mediante la opción "Incluir campo de segundos".

    ›¿Por qué "0 0 1,15 * 1" se ejecuta cada lunes Y el día 1/15, en lugar de solo cuando ambos coinciden?

    Esta es una peculiaridad conocida de cron, no un error: cuando tanto el campo día-del-mes como el campo día-de-la-semana están restringidos (no "*"), el cron estándar los trata como O, no Y -- la tarea se ejecuta si cualquiera de las condiciones es verdadera. Si solo restringes uno de los dos campos y dejas el otro como "*", solo se aplica el restringido.

    ›¿Qué significa */15 y en qué se diferencia de 0,15,30,45?

    Producen exactamente el mismo conjunto de valores aquí (0, 15, 30 y 45), pero */N es un paso: significa "cada valor N-ésimo a partir del mínimo del campo", que es más corto de escribir y se ajusta automáticamente si cambias N. Una lista explícita como 0,15,30,45 tiene el mismo significado pero hay que escribirla y editarla a mano.

    ›¿Las "próximas ejecuciones" se calculan para mi zona horaria?

    Sí -- usan el reloj y la zona horaria actuales de tu dispositivo, calculados enteramente en tu navegador. Si la tarea cron realmente se ejecutará en un servidor en una zona horaria diferente (muy común en servidores en la nube configurados en UTC), las ejecuciones reales tendrán un desfase igual a la diferencia entre tu zona horaria y la del servidor.

    ›¿Qué son @daily, @hourly y los demás atajos @?

    Son alias comunes admitidos por cron, Vixie-cron y la mayoría de los programadores modernos como abreviatura de una expresión exacta usada con frecuencia: @yearly y @annually significan ambos "0 0 1 1 *", @monthly significa "0 0 1 * *", @weekly significa "0 0 * * 0", @daily y @midnight significan "0 0 * * *", y @hourly significa "0 * * * *". Escribe uno directamente en el campo de expresión y se expandirá automáticamente.

    Herramientas relacionadas