The 5-59/5 vs */5 split is the one that fails quietly. The line looks like every five minutes, but it never fires at minute 0, so the top of the hour is just missing. Same class of bug on the day-of-month step: on cronie, 0 0 */5 * * lands on the 1st, 6th, 11th, 16th, 21st, 26th, and 31st, not on dates divisible by 5. And the overlap point matches what I've hit: classic cron will start the next */5 while a six-minute command is still going, so the fix is flock in the command, not a wider schedule.
Thanks for spelling that out. 5-59/5 is the one that looks fine until the top of the hour never shows up. The day-of-month step fails the same way, and the overlap case is the one we kept coming back to: flock inside the command, and leave */5 as it is.
c-wind
Building developer tools around SSH and terminals. Rust, Linux, ops.
The 5-59/5 vs */5 split is the one that fails quietly. The line looks like every five minutes, but it never fires at minute 0, so the top of the hour is just missing. Same class of bug on the day-of-month step: on cronie, 0 0 */5 * * lands on the 1st, 6th, 11th, 16th, 21st, 26th, and 31st, not on dates divisible by 5. And the overlap point matches what I've hit: classic cron will start the next */5 while a six-minute command is still going, so the fix is flock in the command, not a wider schedule.