Open in the Cron Expression Generator →
What 0 * * * * means
Cron reads five fields from left to right: minute, hour, day of the month, month and day of the week. For every hour they are:
| Field | Value | Meaning | Allowed |
|---|---|---|---|
| Minute | 0 | 0 | 0–59 |
| Hour | * | every hour | 0–23 |
| Day of month | * | every day of the month | 1–31 |
| Month | * | every month | 1–12 |
| Day of week | * | every day of the week | 0–6 (Sun–Sat) |
Next runs
Calculated in your browser for your time zone. On a server, cron uses the server’s time zone (often UTC).
- Enable JavaScript to see the next run times.
Typical uses
- Hourly reports and digests
- Log rotation
- Pulling analytics
Good to know
Runs at minute 0 of every hour. Many jobs start at :00, so pick another minute (for example 17 * * * *) to avoid load spikes. @hourly is the same schedule.
Use it in crontab, GitHub Actions, Kubernetes and Node.js
crontab (crontab -e):
0 * * * * /usr/local/bin/my-job.sh >> /var/log/my-job.log 2>&1
GitHub Actions (times are 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
});
Related schedules
- Every 2 hours —
0 */2 * * * - Every 3 hours —
0 */3 * * * - Every 4 hours —
0 */4 * * * - Every 6 hours —
0 */6 * * * - Every 12 hours —
0 */12 * * *
Frequently asked questions
What is the cron expression for every hour?
0 * * * *. It runs at 0.Which time zone does cron use?
spec.timeZone (for example Europe/Berlin).