Generador de Expresiones Cron

Escribe y lee programaciones de crontab. Introduce una expresión cron y verás en palabras cuándo se ejecuta, las próximas ejecuciones y qué significa cada uno de los cinco campos.

Minuto
Hora
Día
Mes
Día de la semana

Cada minuto.

Próximas ejecuciones


  •  
  •  
  •  
  •  
  •  

Las horas se muestran en la zona horaria de tu ordenador (). Cron usa la del servidor, que a menudo no es la misma.

Programaciones habituales


Elige una para cargarla en el campo de arriba.

* * * * *Cada minuto
*/5 * * * *Cada 5 minutos
*/15 * * * *Cada 15 minutos
*/30 * * * *Cada media hora
0 * * * *Cada hora
0 */2 * * *Cada 2 horas
0 */6 * * *Cada 6 horas
0 */12 * * *Dos veces al día
0 0 * * *Todos los días a medianoche
0 9 * * *Todos los días a las 9 de la mañana
0 9 * * 1-5De lunes a viernes a las 9 de la mañana
0 9 * * 6,0Sábado y domingo a las 9
0 0 * * 1Todos los lunes a medianoche
0 18 * * 5Todos los viernes a las 6 de la tarde
0 0 1 * *Primer día del mes
0 0 1 1 *Primer día del año

Qué significa cada campo


CampoValores admitidos
Minuto0 – 59
Hora0 – 23
Día del mes1 – 31
Mes1 – 12, JAN – DEC
Día de la semana0 – 6, SUN – SAT (0 = 7)

Caracteres especiales


CarácterSignificado
*cualquier valor
,separa valores en una lista
-un rango de valores
/pasos dentro de un rango

Atajos


@yearly, @annually0 0 1 1 *
@monthly0 0 1 * *
@weekly0 0 * * 0
@daily, @midnight0 0 * * *
@hourly0 * * * *
@reboot

No forman parte del cron POSIX, pero casi todas las implementaciones los aceptan.

Lo que suele pillar a la gente


  • Cuando el día del mes y el día de la semana están los dos restringidos, cron se ejecuta los días que coinciden con cualquiera de los dos, no con ambos. "* * 3 * 1" se ejecuta el día 3 del mes y todos los lunes. La excepción es cuando uno empieza por asterisco: "* * */2 * 1" solo se ejecuta en día impar que además sea lunes. El manual de cron lo explica mal.
  • Ejecuta el servidor, y cron con él, en UTC. Una programación escrita en una zona con horario de verano se salta una ejecución una vez al año y repite otra en el cambio siguiente.
  • El cron estándar no tiene campo para segundos ni para años. Si necesitas esa precisión, cron no es la herramienta.
  • Evita @reboot. Depende de cómo se reinició la máquina y de qué servicios estaban listos en ese momento, lo que hace difícil razonar sobre él.
  • Una programación que no cabe en cinco campos puede partirse en dos entradas. Para ejecutar algo cada 90 minutos, escribe "0 */3 * * *" y "30 1/3 * * *" una al lado de la otra.
  • Escribe el comando con rutas absolutas. Cron se ejecuta con un PATH muy corto y casi ninguna de las variables de entorno que tiene tu shell.

Preguntas frecuentes sobre expresiones cron


¿Qué significan los cinco campos?
En este orden: minuto, hora, día del mes, mes y día de la semana. Un campo con asterisco admite cualquier valor.

¿El domingo es 0 o 7?
Los dos. La mayoría de las implementaciones admite 0 y 7 para el domingo, y también los nombres de tres letras, de SUN a SAT.

¿Por qué no se ejecutó mi tarea a la hora que esperaba?
Las razones habituales son que el servidor esté en otra zona horaria, la regla de día del mes con día de la semana explicada arriba, o que el comando falle porque cron no carga el perfil de tu shell.

¿Esta página envía mi expresión a algún sitio?
No. La expresión se lee y las ejecuciones se calculan en tu navegador; no se envía nada.

Wikipedia — Cron
Wikipedia — Crontab
Wikipedia — Daemon