Cron Doctor · configuration analysis

Crontab validator

Check one crontab job, including its command and environment. Find supported schedule and heartbeat mistakes before trusting a successful check-in.

No signup needed for the checker. Running production jobs? Pro covers up to 50 jobs for $9.99/month, for one owner.

Open Cron Doctor

What you can check

  • Inspect one active job with its relevant environment assignments.
  • Review five-field syntax, timezone context, and nominal run times.
  • Find supported heartbeat placement and exit-status risks with source evidence.

What remains unknown

This is not full-file or host validation. Supply one user-crontab entry; system username fields, shell runtime, installed tools, permissions, and output correctness are not verified. Six-field and Quartz expressions are unsupported.

Synthetic example

Deliberately unsafe synthetic example: the semicolon can send a success heartbeat after failed work. Inspect the finding; do not install this command.

CRON_TZ=America/New_York
0 2 * * * /opt/jobs/backup; curl -fsS https://api.pingcron.io/ping/example

Your configuration is sent to PingCron for analysis. It is not saved and is never executed. A static report does not establish runtime health.

Official scheduler reference · Explore ongoing monitoring

A valid schedule can still report failed work as successful

In the synthetic example above, the semicolon allows curl to run after the backup command fails. A successful HTTP request can then hide the workload’s failure. Paste that example into Cron Doctor to inspect the finding and its source evidence. It is not a production-ready backup command.

For supported cases, the report can offer a correction preview that makes the success request conditional. Review the change before using it: conditional reporting alone does not add a failure signal, validate the backup, or preserve every exit-status requirement. For an implementation that keeps workload and reporting results separate, see the completion-reporting shell example.

What to inspect when a crontab job does not run

  • Entry format: supply one active job in user-crontab format: five timing fields followed by the command. A system crontab includes a username column; this checker does not validate that execution identity.
  • Environment and timezone: include the relevant assignments before the job. Supply the scheduler’s actual timezone, using CRON_TZ where your cron implementation supports it or the checker’s fallback. A preview cannot establish the host’s configuration.
  • Runtime context: inspect the scheduler service, logs, executable paths, permissions, and working directory on the host. Your interactive shell is not proof that cron has the same environment.
  • Output: an exit code of zero is only useful if the command checks the result you need. Validate backup integrity, report freshness, or completed sync work before sending a success signal.

Use your installed cron implementation’s documentation and native validation for a complete file. See the Cronie crontab reference. Unix cron, Quartz, and scheduler-specific formats are not interchangeable.

One owner with 21–50 jobs? Monitor them for $9.99/month.

Keep cron running your jobs. PingCron Pro covers up to 50 monitors and watches for expected completion check-ins, with email, Slack, Discord, and webhook alerts. A signal missing beyond its grace period warrants investigation; it does not identify the cause or restart the job.

For 30 monitored jobs and one user, monthly list prices are PingCron Pro $9.99, Healthchecks Business $20, and Cronitor Business $65. Healthchecks offers 20 free checks and shared projects. Cronitor Business includes 12-month retention and SMS/on-call features. PingCron’s advantage here is the price for this monitoring scope.

USD monthly rates checked October 17, 2026; taxes, discounts, and add-ons excluded. Compare features and billing: Healthchecks comparison · Cronitor comparison.

Pro retains 30 days of data for daily reported-outcome summaries. The individual list shows the latest 100 receipts, not a searchable month of application logs. Shared account access starts on Team.

No signup for analysis. Monitoring Free includes 5 monitors and 7-day history, with no credit card. Pro signup continues to checkout.

Verify one real job before adding the rest

Analyze the intended job, then use Protect this job in a supported report. Review its schedule, timezone, owning account, and grace period before creating a monitor. Install its check-in after successful work and output validation. Confirm a real completion receipt, verify your alert destination, and test missed-run and recovery behavior on an isolated monitor. Allow for runtime, scheduler delays, detection, and alert delivery.