* * * * *
Open in the generator
Five asterisks match every minute of every hour of every day. It is the finest resolution standard cron offers, so it is the usual choice for polling a queue, checking a heartbeat file or retrying a failed sync.
Before using it, make sure the job finishes in well under a minute. Cron does not wait for the previous run; a slow job started every minute piles up processes until the machine runs out of memory. Wrap long-running work in flock or a lock file, or move it to a long-lived worker process.
Field by field
| Value | Field | Meaning |
|---|---|---|
| * | Minute 0–59 | every minute |
| * | Hour 0–23 | every hour |
| * | Day of month 1–31 | every day of the month |
| * | Month 1–12 or JAN–DEC | every month |
| * | Day of week 0–7 or SUN–SAT (0 and 7 are Sunday) | every day of the week |
Next run times
Computed in your browser from the current time, so you can check the schedule against a clock you trust.
Your timezone (local)
- Needs JavaScript.
UTC (GitHub Actions, Kubernetes default)
Variations
*/2 * * * *every 2 minutes · try it*/5 * * * *every 5 minutes · see page* 9-17 * * 1-5every minute during office hours on weekdays · try it
Where this expression works
- Linux and macOS crontab: as written; times follow the system timezone.
- Kubernetes CronJob: the same five fields; UTC unless
spec.timeZoneis set. - GitHub Actions: the same syntax in UTC, minimum interval five minutes, no
@shortcuts. - AWS EventBridge: a different six-field syntax; do not paste this expression unchanged.
Full platform comparison · Cron tutorial
FAQ
Can cron run a job every 30 seconds?
Not directly; one minute is the smallest unit. Either start the job every minute and have it run twice with a 30-second sleep, or use a systemd timer with OnUnitActiveSec=30s.
What happens if the job takes longer than a minute?
Cron starts another copy anyway. Guard the script with flock -n /tmp/job.lock so overlapping runs exit immediately.