ArgusMonitoreo de Sitios Web Distribuido

cronjob guru

La forma más fácil de crear y entender expresiones cron.

Cargando editor...

¿Qué es una Expresión Cron?

Las expresiones cron consisten en 5 campos, separados por espacios, que se utilizan para especificar en qué horario debe ejecutarse una tarea. Se utilizan comúnmente en entornos como Unix/Linux, AWS, Kubernetes u otras herramientas que permiten programar y ejecutar tareas recurrentes según tus propios términos.

CampoValores PermitidosDescripción
Minute0-59Minuto de la hora
Hour0-23Hora del día (formato 24 horas)
Day of Month1-31Día del mes
Month1-12Mes del año
Day of Week0-6Día de la semana (0 es Domingo, 1 es Lunes, etc.)

Algunos casos de uso comunes donde podrías necesitar expresiones cron son por ejemplo:

  • Hacer un backup de tu base de datos cada noche a las 2:30 AM
  • Ejecutar un script para verificar el estado de tus servidores cada 15 minutos
  • Enviar una notificación a tus usuarios cada día a las 9:00 AM

Caracteres Especiales

CarácterDescripción
*
Significa "todos los valores"
Ejemplo: Cada minuto, cada hora
,
Se usa para separar múltiples valores
Ejemplo: "1,3,5" significa exactamente en 1, 3 y 5
-
Se usa para definir rangos
Ejemplo: "1-5" significa 1, 2, 3, 4, 5
/
Cada n-ésima unidad
Se usa comúnmente para especificar, por ejemplo, cada 15 minutos, lo cual se escribe como */15
L
"Último Día del Mes"
Este valor solo puede usarse en el campo de día del mes (3er campo).
Advertencia: Este carácter especial podría no ser compatible con todos los ejecutores de cron.
-,
Uso Combinado de Rango y Separador
Puedes usar el operador de rango y el separador juntos. La expresión 1-5,9,11-12 se expande a 1,2,3,4,5,9,11,12

Ejemplos Comunes

Expresión CronSignificado
* * * * *Cada minuto
0 * * * *Cada hora en el minuto 0
0 0 * * *Cada día a medianoche (12:00 AM)
0 0 * * 0Cada Domingo a medianoche
*/15 * * * *Cada 15 minutos
0 0 1 * *A medianoche el primer día de cada mes
0 12 * * 1-5Al mediodía en días laborales (Lunes a Viernes)

Expresiones Especiales

Algunas implementaciones de cron soportan expresiones abreviadas especiales que facilitan la especificación de horarios comunes.

ExpresiónEquivalente ADescripción
@yearly0 0 1 1 *Una vez al año a medianoche el 1 de Enero
@monthly0 0 1 * *Una vez al mes a medianoche el primer día
@weekly0 0 * * 0Una vez a la semana a medianoche el Domingo
@daily0 0 * * *Una vez al día a medianoche
@hourly0 * * * *Una vez por hora al inicio de la hora
@rebootN/AEjecutar una vez al iniciar (funciona en crontab, por ejemplo)

Advertencia de Compatibilidad

Estas expresiones especiales pueden no ser compatibles con todas las implementaciones de cron o sistemas de programación. Para máxima compatibilidad, se recomienda usar las expresiones cron estándar de 5 campos en lugar de estos atajos.