◷ Cron expression explainer
The cron expression 0 */3 * * * means: every 3 hours at minute 0, from 00:00 to 21:00. In UTC its next runs are Mon 2026-10-12 21:00 and Tue 2026-10-13 00:00. A heartbeat monitor with a 30-minute grace period, pinged at the end of each run, alerts you when the job stops running or fails silently.
Paste a 5-field cron expression. Get what it means in plain English, when it runs next, and what could go wrong. Nothing is sent anywhere; it runs on our server in a few milliseconds.
| minute | hour | day of month | month | day of week |
|---|---|---|---|---|
| 0 | */3 | * | * | * |
| 0 | 0, 3, 6, 9, 12, 15, 18, 21 | 31 values | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 | 0, 1, 2, 3, 4, 5, 6 |
Next 10 runs · UTC
- Mon 2026-10-12 21:00 UTC (+00:00) · in 52m
- Tue 2026-10-13 00:00 UTC (+00:00) · in 3h 52m
- Tue 2026-10-13 03:00 UTC (+00:00) · in 6h 52m
- Tue 2026-10-13 06:00 UTC (+00:00) · in 9h 52m
- Tue 2026-10-13 09:00 UTC (+00:00) · in 12h 52m
- Tue 2026-10-13 12:00 UTC (+00:00) · in 15h 52m
- Tue 2026-10-13 15:00 UTC (+00:00) · in 18h 52m
- Tue 2026-10-13 18:00 UTC (+00:00) · in 21h 52m
- Tue 2026-10-13 21:00 UTC (+00:00) · in 1d 0h
- Wed 2026-10-14 00:00 UTC (+00:00) · in 1d 3h
Times are UTC, which is what most cloud servers and GitHub Actions use. Set a timezone above to see local times.
Watch out
✓ No gotchas specific to this expression.
Monitor this job
cron never tells you when a job stops running. Add a heartbeat ping after the command: Vigil expects it on this schedule and alerts you if it doesn't arrive within the grace period (we'd suggest 30 minutes here).
0 */3 * * * /usr/local/bin/my-job.sh && curl -fsS -m 10 --retry 3 -o /dev/null https://puzaricloud.in/ping/<your-token>
0 */3 * * * curl -fsS -m 10 -o /dev/null https://puzaricloud.in/ping/<your-token>/start; /usr/local/bin/my-job.sh; curl -fsS -m 10 --retry 3 -o /dev/null https://puzaricloud.in/ping/<your-token>/$?
Replace /usr/local/bin/my-job.sh with your command and <your-token> with the token Vigil gives you. && means the ping only goes out when the job succeeded.
Know the moment a cron job doesn't run
Paste the same expression into a Vigil heartbeat. Vigil works out when each run is due in your timezone, waits the grace period, then alerts you if the ping never came, if the job reported a failure, or if it started and never finished.