Nouplo

Cron una vez al mes

Es 0 0 1 * *: el día 1, a medianoche.

Los ejemplos sustituyen temporalmente la entrada y los ajustes. Puedes recuperar tu trabajo anterior.

0 caracteres
cron
• • • • •
Resultado
• • • • •

  •••••••••• •••••• ••••••
  • •••••••• •••• ••••••
  • • •••••• ••• ••• ••• ••••••
  • • • •••• ••• ••••••
  • • • • •• ••• •• •• •••••• ••••• •• ••••••• •• •• • • •• •• ••••••• •• •••••••••
  • • • • •

  •• ••••••• •••
    ••••••           •
    ••••             •
    ••• ••• •••      •
    •••              •••••
    ••• •• •• •••••• •••••

  •••••••• ••••• ••••••••••• ••••• •• •••••••••••••••
    •••••••••• •••••  •••
    •••••••••• •••••  •••
    •••••••••• •••••  •••
    •••••••••• •••••  •••
    •••••••••• •••••  •••

Tus archivos se quedan en tu dispositivo

Esta herramienta se ejecuta por completo en tu navegador. Lo que pegas se procesa en tu dispositivo y nunca se envía a un servidor, así que puedes usarla con tokens, claves y textos sin publicar.

Ejemplo

Ejemplo: un informe de cierre el día 1 de cada mes a las 6:00

Una tienda online genera cada mes el informe de ventas del mes anterior. A medianoche todavía entran pedidos, así que mejor a las 6:00. Pon el menú en «Describirla abajo en su lugar» y escribe, en inglés: at 6am on the 1st.

  1. El constructor escribe 0 6 1 * *: minuto 0, hora 6, día del mes 1, todos los meses, cualquier día de la semana.
  2. Debajo se relee campo por campo (hora 6, día del mes 1), y se listan las cinco próximas ejecuciones en la zona horaria de tu navegador, todas un día 1 a las 06:00.
  3. Pégala en el crontab delante del comando: 0 6 1 * * /usr/local/bin/informe.sh
Lo que eliges o escribes Expresión Qué hace
Menú: «El 1 de cada mes» 0 0 1 * *el día 1 a las 00:00
at 6am on the 1st 0 6 1 * *el día 1 a las 06:00
at 8:30 on the 1st and 15th 30 8 1,15 * *los días 1 y 15 a las 08:30
on the 31st at midnight 0 0 31 * *solo en los 7 meses que tienen 31 días
el día 1 a las 6 (ninguna)no se lee: el campo solo entiende inglés
at 7am on the first monday of the month (ninguna)cron no puede expresarlo; la página explica la alternativa

0 6 1 * *: doce ejecuciones al año, el día 1 a las 6:00 según el reloj del servidor. Si el servidor va en UTC, esas 6:00 son las 7:00 en la España peninsular en invierno y las 8:00 en verano; para que sean las 6:00 de Madrid, ajusta la zona horaria del servidor o del planificador.

Cómo funciona

  1. La expresión ya está ahí: 0 0 1 * *. Los cinco campos de debajo son minuto, hora, día del mes, mes y día de la semana, en ese orden.
  2. Cópiala a tu crontab, a tu programación de CI o a tu planificador en la nube. Los mismos cinco campos significan lo mismo en todos.
  3. Para cambiarla, pon el menú en «Describirla abajo en su lugar» y escribe la programación en inglés: «every 2 hours», «at 5pm on weekdays». El campo no lee frases en español; la relectura, en cambio, sale en español.
  4. Comprueba la lectura, no la expresión. Lo que aparece debajo sale de analizar lo construido: es lo que haría una máquina, no lo que quisimos decir.

Preguntas frecuentes

¿Puedo usar el último día del mes?
En el cron clásico, no. El 31 sencillamente no ocurre en los meses que no tienen 31: la tarea se salta febrero, abril, junio, septiembre y noviembre sin que nadie se entere. Para fin de mes, programa el día 1 del mes siguiente, o ejecuta a diario y comprueba en el script si mañana empieza otro mes.
¿Funciona en GitHub Actions, Kubernetes y los planificadores en la nube?
Los cinco campos sí. Lo que cambia es todo lo demás: algunos aceptan nombres como @daily, los CronJobs de Kubernetes toman los mismos cinco, y GitHub Actions ejecuta tarde los flujos programados cuando hay carga. Pega la expresión y compruébala donde vaya a correr.
¿Puedo leer una expresión que ya tengo?
Sí, para eso está el analizador de cron: pega la expresión y obtienes la explicación y las próximas ejecuciones. Es el mismo analizador que aquí relee lo construido.
¿Cómo lo programo a otra hora que no sea medianoche?
Cambia los dos primeros números, el minuto y la hora: 0 6 1 * * es el día 1 a las 6:00 y 30 8 1 * *, a las 8:30. O escribe la hora en inglés en el campo, como «at 6am on the 1st», y el constructor la pone por ti.
¿Y el primer lunes de cada mes?
Cron no puede expresarlo: ningún campo guarda la posición de un día de la semana dentro del mes, y la página lo dice en lugar de inventar una expresión. Lo habitual es ejecutar del día 1 al 7 y que el propio comando compruebe si es lunes antes de hacer nada.
¿Se envía algo a algún sitio?
No. Se construye y se lee en esta página. Una programación cuenta cuándo hacen algo tus sistemas; no hace falta que lo sepa un servidor ajeno.

Para un uso concreto

Herramientas relacionadas