Cron Expression Builder

Expresión Cron Mensual el Día 1: 0 0 1 * *

La expresión cron 0 0 1 * * se ejecuta a la medianoche del día 1 de cada mes. Cubre @monthly, el workaround para el último día del mes, casos borde con anos bisiestos y omisión de meses con 29/30/31.

100% del lado del cliente. Tus datos nunca salen de tu navegador.

Minuto
Hora
Día del Mes
Mes
Día de la Semana

At 12:00 AM, on day 1 of the month

Próximas 5 Ejecuciones
  • 1.Wed, Jul 1, 2026, 00:00
  • 2.Sat, Aug 1, 2026, 00:00
  • 3.Tue, Sep 1, 2026, 00:00
  • 4.Thu, Oct 1, 2026, 00:00
  • 5.Sun, Nov 1, 2026, 00:00
Referencia Rápida
*Cualquier valor
,Separador de lista
-Rango
/Paso
1-5Rango 1 a 5
*/15Cada 15 unidades

Expresión 0 0 1 * *

La expresión cron 0 0 1 * * se ejecuta en el minuto 0 de la hora 0 del día 1 de cada mes, sin importar el mes o el ano. Esto significa que el trabajo se ejecuta a la medianoche del 1 de enero, 1 de febrero, 1 de marzo, etc., exactamente 12 veces al ano (una vez por cada mes calendario).

Desglose de campos:

CampoValorSignificado
Minuto0Al inicio de la hora
Hora0Medianoche
Día del mes1Día 1 del mes
Mes*Cada mes
Día de la semana*Cualquier día

Alias @monthly

@monthly es un atajo para 0 0 1 * * soportado por la mayoría de los servicios cron:

@monthly    /opt/jobs/billing-cycle
# equivalente a:
0 0 1 * *   /opt/jobs/billing-cycle

Casos Borde con Valores del Día del Mes

Meses con menos de 31 días

Si programas un trabajo para los días 29, 30 o 31, se omitira silenciosamente en los meses que no tienen esos días:

ExpresiónMeses omitidos
0 0 29 * *Febrero (la mayoría de los anos)
0 0 30 * *Febrero
0 0 31 * *Feb, Abr, Jun, Sep, Nov

Ano bisiesto y 29 de febrero

0 0 29 * * omite febrero por completo en los anos no bisiestos. En anos bisiestos se ejecuta el 29 de febrero.

El Problema del Último Día del Mes

Cron no tiene sintaxis nativa para ‘el último día del mes’. El workaround práctico es ejecutar el trabajo a diario y verificar la fecha en el script:

#!/bin/bash
# Salir si mañana no es el día 1 (es decir, hoy es el último día del mes)
if [ "$(date -d tomorrow +%d)" != "01" ]; then
  exit 0
fi

# lógica real del trabajo

Casos de Uso del Mundo Real

Facturación y corte de facturas

La generación de facturas, renovaciones de suscripciones o el recalculo de cargos basados en uso suele ocurrir en el limite del ciclo de facturación, el día 1 del mes.

Reportes mensuales

Los reportes financieros, de ventas y operativos a menudo recopilan datos del mes anterior.

Archivado de datos

Mover datos de más de un mes a almacenamiento en frio, archivar registros antiguos de bases de datos son usos naturales para cron mensual.