Cron Schedule Auditor

Cron Schedule Auditor

Jobs and audit window

1–8 jobs · 1–62 elapsed UTC days · at most 5000 starts; an exceeded cap rejects the full audit

Expected jobs

Five fields: minute hour day month weekday. Numeric *, lists, ranges and */step or range/step only; weekday 0 is Sunday. Expected duration is a fixed estimate, not measured runtime.

Job #1
Job #2

Policy: each UTC minute strictly after start is matched in the selected wall-clock zone. Spring nonexistent times are skipped; fall repeated times run twice. The month field must match; restricted day-of-month and weekday fields use OR. The horizon is elapsed UTC days. No job is executed.

Audit result

Edit the jobs and run the audit.

Comments & questions

Cron Schedule Auditor

A cron expression describes a start, not how long a job occupies a shared worker or resource. Enter multiple five-field jobs with expected durations to see their next starts, overlapping run windows and idle gaps. The audit scans real UTC instants and matches each one in the chosen time zone, so nonexistent spring-forward wall times are omitted and repeated fall-back wall times appear twice.

Key features

  • Validate a strict five-field numeric cron subset and reject unsupported macros/names/seconds
  • Calculate next five starts per job with IANA time-zone wall clocks and explicit DST skip/repeat behavior
  • Intersect expected fixed-duration windows to find simultaneous and partial collisions
  • Merge busy intervals to identify idle gaps longer than a chosen threshold
  • Download a complete bounded JSON audit of occurrences, collisions and gaps

How to use

  1. Load an overlap, DST or month-end example or enter one to eight cron expressions.
  2. Set a UTC start instant, IANA time zone, elapsed-day horizon, expected duration and idle-gap threshold.
  3. Run the audit; correct any unsupported field or range error shown with its job and field number.
  4. Compare next starts, overlap intervals and idle gaps, then inspect repeated fall-back wall times.
  5. Download the JSON report when you need to share the bounded calculation.

Use cases

  • Spot two maintenance jobs scheduled for the same worker at once
  • Find an expected idle window between recurring batch tasks
  • Review a 02:30 schedule through a spring DST change
  • Detect two 01:30 starts on a fall DST transition
  • Check that a day-31 schedule skips short months

Frequently asked questions

Which cron syntax is accepted?

Exactly five numeric fields: minute 0–59, hour 0–23, day-of-month 1–31, month 1–12 and weekday 0–6 (Sunday 0). Use *, comma lists, inclusive ranges and */n or range/n steps. Names, Sunday 7, ?, L, W, #, macros, seconds and command text are rejected.

How are the day-of-month and weekday fields combined?

Month always has to match. If both day fields are written as non-* expressions, either day field may match (OR). With one literal *, only the other day field filters. This explicit policy avoids silently guessing other cron dialects.

What happens at daylight-saving changes?

The tool enumerates UTC minutes strictly after the chosen UTC start and matches their wall-clock fields in the selected IANA zone. A spring time that never occurs gets no run; a repeated fall time gets two runs with distinct UTC instants and offsets. This is a modeling policy, not a promise about a particular cron daemon.

What do collisions and gaps mean?

Each start occupies a half-open interval from start through start plus its expected fixed duration. Any overlap, including two jobs starting together, is a collision. Gaps are intervals with no expected job running whose length is greater than the threshold, including window edges. Actual runtimes and resource capacity are not measured.

How far ahead can I audit?

One to 62 elapsed UTC days, at most eight jobs and 5,000 occurrences; excessive collision or gap output is also rejected. The whole audit fails rather than truncating an incomplete result. Future time-zone rules may change with the browser’s IANA data.

Privacy

Schedules are calculated locally in the browser. No cron daemon is contacted, no job is executed, and input is not uploaded. Download is initiated only when you choose it.

References

Related Tools

Cron Expression GeneratorResource Capacity SchedulerTimestamp ConverterWasm Module InspectorHreflang Matrix CheckerAST Query PlaygroundContainer Build GraphDependency Graph ExplorerSemver Range LabPatch Review WorkbenchSource Map ExplorerLocalization Catalog AuditorStructured Data ReviewerHTTP Archive AnalyzerWebhook Signature LabProtobuf Schema WorkbenchGraphQL Schema LabAvro Schema EvolutionLocal SQL WorkbenchSchema Form BuilderMesh Repair WorkbenchPipe Network LabRobot Arm Kinematics LabThermal Network LabBeam Response LabGear Train DesignerTolerance Stackup LabSensor Calibration FitPCB Stackup PlannerDigital Filter DesignerNetwork Reachability MapSun Shadow MapGPS Error SimulatorDigital Logic SimulatorAnalog Circuit LabMechanism Linkage LabAnalysis Mesh GeneratorOpenAPI Contract InspectorDatabase Migration PlannerDimensional Equation CheckerTruss Force LabBoolean Minimization LabControl Response LabQueueing Simulation LabGeofence Event SimulatorCoordinate Reference LabSurvey Traverse LabRaster Classification LabChoropleth Design LabMap Print ComposerRaster Reprojection LabElevation Contour MakerTerrain Viewshed LabWatershed DelineatorMap Tile PackagerText File Encoding WorkbenchFilesystem Portability AuditorSBOM License ExplorerFile Signature Auditornpm Lockfile Conflict ResolverSource Secret AuditorOffline Web Package BuilderCertificate Chain InspectorTorrent Metainfo InspectorChunked File PackagerEncrypted File VaultDuplicate File FinderArchive WorkbenchDesign Token ManagerSpacing Token DesignerResponsive Type SystemPackaging Dieline DesignerSVG Icon Sprite PackerFlex Layout PlaygroundCSS Grid PlaygroundRegex Equivalence LabMarkdown Repository AuditorLog Template MinerResponsive Layout AuditorEmail Template PreviewInternal Link GraphState Machine TesterPetri Net SimulatorGit History VisualizerCurl Request WorkbenchBinary Protocol DesignerHex File EditorBinary Patch WorkbenchFile Signature WorkbenchAPI Mock SandboxSchema Column MapperEvent Log SessionizerER Diagram DesignerTime Series Gap AuditorStratified Data SplitterData Lineage DesignerDecision Tree LabData Anonymization WorkbenchData Expectation RunnerJSON Schema ValidatorBasket Pattern AnalyzerRobots Policy TesterSEO HTML AuditorAccessibility Structure AuditorSyndication Feed WorkbenchIndexNow Payload BuilderCrawl Log AnalyzerCSP Policy WorkbenchSearch Performance AnalyzerCSV Formula Risk AuditorCORS Response SimulatorCache Header LabCookie Policy InspectorWeb Vitals Trace LabSitemap Health AuditorBatch File RenamerFile Manifest VerifierFolder Space MapFolder Difference ReviewerRoute Order OptimizerGeoJSON Map EditorPolygon Overlay LabCartographic Label PlacerSpatial Table JoinGeoJSON Topology AuditorGPX Track AnalyzerTrack Privacy RedactorCSV Table JoinCSV Pivot WorkbenchScientific Data ProfilerTabular Cleaning WorkbenchRecord ReconciliationData Dictionary BuilderCanonical Graph AuditorRedirect Plan TesterHTTP response and ping reference testBrowser and System InformationJSON ↔ YAML ConverterXML ↔ JSON ConverterHTML FormatterJavaScript MinifierMock Data Generator.gitignore GeneratorLicense GeneratorUser-Agent ParserPassword Strength CheckerCode to ImageXML FormatterHTTP Status Code LookupMIME Type LookupJS & SQL String EscapeCSS Box Shadow GeneratorCSS Gradient GeneratorIndent ConverterNumber Base ConverterUnicode Escape ConverterUnicode InspectorJSON Structure DiffMarkdown Table GeneratorBase64 EncoderJSON FormatterURL EncoderSQL FormatterRegex TesterUUID GeneratorHash GeneratorJWT DecoderHTML Entity ConverterMarkdown PreviewCSS MinifierMeta Tag GeneratorJSON ↔ CSVCase ConverterImage to Base64
Explore all Dev Tools tools →Image/Media →Text/Convert →Life/Fun →