Expresión cron: cada hora

0 * * * * se ejecuta cada hora. Aquí tienes qué significa cada campo, cuándo se ejecuta a continuación y cómo usarla en crontab, GitHub Actions, Kubernetes y Node.js.

Actualizado el

0 * * * *
Expresión cron
Cada hora
Programación

Abrir en el Generador de expresiones cron →

Qué significa 0 * * * *

Cron lee cinco campos de izquierda a derecha: minuto, hora, día del mes, mes y día de la semana. Para cada hora son:

CampoValorSignificadoPermitido
Minuto000–59
Hora*cada hora0–23
Día del mes*todos los días del mes1–31
Mes*todos los meses1–12
Día de la semana*todos los días de la semana0–6 (dom–sáb)

Próximas ejecuciones

Calculado en tu navegador para tu zona horaria. En un servidor, cron usa la zona horaria del servidor (a menudo UTC).

  1. Activa JavaScript para ver las próximas ejecuciones.

Usos habituales

  • Informes y resúmenes por hora
  • Rotación de logs
  • Extracción de analíticas

Bueno saber

Se ejecuta en el minuto 0 de cada hora. Muchos trabajos empiezan en :00, así que elige otro minuto (por ejemplo 17 * * * *) para evitar picos de carga. @hourly es el mismo horario.

Uso en crontab, GitHub Actions, Kubernetes y Node.js

crontab (crontab -e):

0 * * * * /usr/local/bin/my-job.sh >> /var/log/my-job.log 2>&1

GitHub Actions (las horas son UTC):

on:
  schedule:
    - cron: '0 * * * *'

Kubernetes CronJob:

apiVersion: batch/v1
kind: CronJob
metadata:
  name: my-job
spec:
  schedule: "0 * * * *"
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        spec:
          restartPolicy: OnFailure
          containers:
            - name: my-job
              image: alpine:3
              command: ["sh", "-c", "echo running"]

Node.js (node-cron):

import cron from 'node-cron';
cron.schedule('0 * * * *', () => {
  // your job
});

Horarios relacionados

Preguntas frecuentes

¿Cuál es la expresión cron para cada hora?
0 * * * *. Se ejecuta en el minuto 0.
¿Qué zona horaria usa cron?
Cron clásico usa la zona horaria local del servidor, y muchos servidores funcionan en UTC. GitHub Actions usa siempre UTC. Los CronJobs de Kubernetes usan la zona horaria del controlador, a menos que definas spec.timeZone (por ejemplo Europe/Berlin).
¿Cómo pruebo una expresión cron?
Pégala en el Generador de expresiones cron para verla en lenguaje natural con las próximas ejecuciones, y luego revisa el log de tu trabajo tras la primera ejecución programada.