happytails.ai

Cron overlap detector

Find cron jobs that run at the same time, the busiest minute and jobs that start again before they finish, including what happens on daylight saving days.

Up to 200,000 characters, 1,000 jobs, 31 days, 200,000 runs and 5,000,000 checks of a starting run against other jobs that are still running. Everything runs on your device in a background worker. Downloads: JSON report, CSV of overlapping pairs and an SVG timeline in UTC. Paste crontab lines. Add # duration: 20m above a job to set its run length. Up to 200,000 characters. Review the settings before running.

Your result

Report a problem or share an idea.

How to use Cron overlap detector
  1. Paste your crontab. Put # duration: 20m above a job to set how long it runs.
  2. Choose the start date, number of days, time zone and default run length.
  3. Run the check and review the overlapping pairs.
  4. Download the JSON report, the CSV of overlaps or the timeline image.

Useful next steps

How runs are found

Happytails.ai reads crontab lines as described in crontab(5) and cron(8) from cronie (read on 16 October 2026): five time fields with lists, ranges, steps and names, the @daily style macros, CRON_TZ, and the rule that day of month and day of week match with OR when both are restricted. Every minute of the window is checked in each job's time zone.

Daylight saving changes

The window covers whole days on the clock of the chosen time zone, so a day with a clock change has 23 or 25 hours. When clocks jump forward, a job with a fixed minute and hour that falls in the skipped hour runs once right after the jump. When clocks go back, such a job is not repeated. Jobs with * in the minute or hour field follow the wall clock. Runs moved by the jump are listed in the report.

Overlaps and limits

A run is assumed to last its # duration: comment or the default length, so overlaps are estimates you can tune. Two jobs overlap when one starts before the other ends. @reboot jobs, RANDOM_DELAY, anacron and systemd timers are not simulated.