0 * * * *Campos
| Minuto | 0 | 0 |
|---|---|---|
| Hora | * | cualquiera |
| Día del mes | * | cualquiera |
| Mes | * | cualquiera |
| Día de la semana | * | cualquiera |
Dónde usarla
| crontab | 0 * * * * /path/to/script.sh |
|---|---|
| GitHub Actions | - cron: "0 * * * *" (on.schedule) |
| Kubernetes CronJob | schedule: "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.