*/45 * * * *
Cron reads this as: every 45th minute.
Read the run times below before using this expression — the schedule it produces is not the one most people expect.
Next 5 runs
Computed in your browser's local time zone. Cron itself evaluates against the server's zone, which on most cloud hosts is UTC — see time zones & DST if that distinction matters here.
- Calculating…
When to use this schedule
People reach for this expecting a 45-minute cycle. It does not do that, and it is worth understanding why before you use it anywhere.
What to watch out for
*/45 means "every 45th value within 0–59", which yields only :00 and :45. The gaps alternate 45 minutes, then 15 minutes, then 45 again — the step resets at the top of every hour rather than continuing from the last run. Standard cron genuinely cannot express a true 45-minute cycle, because 45 does not divide 60. If you need one, either accept a nearby interval that does divide evenly (*/30 or 0 */1 * * *), write out the three-hour repeating pattern by hand across multiple lines, or use a scheduler with real interval support such as a systemd timer with OnUnitActiveSec=45min.
The crontab line
*/45 * * * * /usr/local/bin/your-job.sh >> /var/log/your-job.log 2>&1
Redirect the output somewhere you will actually read it — by default cron mails it, and on a host with no mail transport that means it is discarded. See the crontab guide for the surrounding syntax.
Related schedules
| Expression | Schedule |
|---|---|
*/30 * * * * | Every 30 minutes — divides evenly |
0 * * * * | Every hour — divides evenly |
0,45 1-23/3 * * * | Hand-written approximation |
Build your own
Need something this page does not cover? Compose it field by field in the visual builder, or paste an expression you already have into the explainer for a per-field breakdown. The examples library collects sixty schedules in one place, and the guides cover crontab syntax, time zones, troubleshooting and production practices.