All Cron Schedules
Cron Every 20 Minutes
Run a cron job every 20 minutes:
*/20 * * * *
Understanding the Expression
The cron expression */20 * * * * breaks down as follows:
| Field | Value | Meaning |
|---|---|---|
| Minute | */20 | Every 20 minutes |
| Hour | * | Every hour |
| Day of month | * | Every day of the month |
| Month | * | Every month |
| Day of week | * | Every day of the week |
Example Usage
Basic crontab entry
*/20 * * * * /path/to/your/script.sh
With output logging
*/20 * * * * /path/to/script.sh >> /var/log/script.log 2>&1
With monitoring
*/20 * * * * /path/to/script.sh && curl -fsS https://cronsignal.io/ping/YOUR_CHECK_ID
Common Use Cases for Every 20 Minutes
- Real-time monitoring: Check system health and service availability
- Queue processing: Process background job queues frequently
- Cache warming: Keep caches fresh with regular updates
- Metrics collection: Gather application and infrastructure metrics
Platform Equivalents
The same schedule expressed across common platforms and schedulers:
| Platform | Syntax |
|---|---|
| Linux crontab | */20 * * * * |
| GitHub Actions | - cron: '*/20 * * * *' |
| systemd timer | OnCalendar=*:0/20 |
| Kubernetes CronJob | schedule: "*/20 * * * *" |
| AWS EventBridge | cron(0/20 * * * ? *) |
Timezone Considerations
Every-20-minute jobs fire at fixed minute marks: :00, :20, :40. Timezone-independent. Ensure NTP sync to keep the clock accurate.
Common Mistakes
- 3 runs per hour: Fires at minutes 0, 20, and 40 — not "20 minutes after the last run".
- AWS EventBridge syntax:
cron(0/20 * * * ? *)uses0/Nstep syntax with 6 fields. - Minute-0 contention: All
*/Nexpressions fire at minute 0 simultaneously. Stagger with2/20,3/20, etc. if you have multiple jobs.
Monitor this schedule
Get alerted when your cron job doesn't run.
Sign up with Google
or
3 checks free. No credit card required.