The quarter-hour schedule
A cron every 15 minutes schedule fires four times an hour, at :00, :15, :30 and :45. Fifteen divides 60, so the gap stays even when the hour rolls over — the same guarantee that makes 5, 10, 20 and 30 safe and makes 7 and 25 quietly wrong. Ninety-six runs a day is frequent enough for a sync to feel current and rare enough that a slow run is unusual rather than routine.
Four times an hour is not the same promise
The expression schedules four appointments, not four executions. If a run beginning at :45 takes twenty minutes, cron starts the :00 run while the previous one is still going, because cron never waits. Two copies then share whatever the script assumed was private to it — a temporary file, a cursor in a table, an output path.
The fix is a lock, not a lower frequency. Wrapping the command in flock -n means the overlapping
run exits immediately instead of doubling up, and a skipped quarter hour is a far cheaper failure
than two writers.
Moving off the top of the hour
Everything else on the machine also wants :00. Backups, agents, log shipping and the neighbouring cron entries all fire on the same tick, and the result is a machine that is briefly busy four times an hour and idle in between. A list of four minutes keeps the cadence and moves it:
5,20,35,50 * * * *
Same four runs an hour, five minutes clear of the crowd. Across a fleet, giving each host a different offset spreads the load without changing what any of them do.
Narrowing to the hours that matter
Ninety-six runs a day mostly happen while nobody is watching. Constraining the hour field to a working range and the day-of-week field to Monday through Friday drops that to thirty-six runs on five days a week — a reduction of about eighty per cent for a schedule that still feels live during the hours anyone cares about. The variants table above has both forms, and each reading comes from the same parser that powers the panel at the top.
What the four runs cost
Ninety-six executions a day is small if the job is a query against a warm index and large if it opens a connection pool, fetches a remote page and writes a file. The number worth estimating is not the average duration but the worst one you have seen, because that is the run that will collide with the next appointment. If the slowest run you can remember is over five minutes, a quarter-hourly schedule is already closer to its limit than it looks, and the lock in the previous section stops being optional.
Neighbouring intervals
Fifteen minutes sits between two common choices. If a sync feels stale at a quarter of an hour, the 5-minute schedule triples the resolution for triple the runs. If it is doing nothing most times it wakes, the 30-minute schedule halves the cost for the same shape. For anything the table does not cover, paste the line into the cron expression generator and read the sentence it produces before it reaches a crontab.