Cada hora

0 * * * *

Campos

Minuto00
Hora*cualquiera
Día del mes*cualquiera
Mes*cualquiera
Día de la semana*cualquiera

Dónde usarla

crontab0 * * * * /path/to/script.sh
GitHub Actions- cron: "0 * * * *" (on.schedule)
Kubernetes CronJobschedule: "0 * * * *"

crontab usa la zona horaria del servidor; GitHub Actions siempre usa UTC.

A tener en cuenta

0 * * * * se ejecuta al principio de cada hora, igual que @hourly. Un despiste habitual es poner el 0 en el campo de la hora: * 0 * * * se ejecuta cada minuto de 00:00 a 00:59. Debian y Ubuntu también ejecutan los scripts de /etc/cron.hourly en el minuto 17 mediante run-parts, lo que va bien para tareas a las que no les importa el minuto exacto. Cada 2 horas es 0 */2 * * *.

El minuto 0 es el momento de más carga para cualquier planificador, así que para las tareas que llaman a servicios compartidos elige otro minuto, como 23 * * * *. GitHub Actions advierte de que las ejecuciones al principio de la hora suelen retrasarse o incluso descartarse cuando hay mucha carga. Si una ejecución puede superar una hora, envuélvela en flock -n, y añade la salida a un log para que los fallos dejen rastro.

Abrir Generador y explicador de expresiones cron