Cron Job Not Running: The Silent Failure Checklist

Symptom

Cron entry looks right; nothing happens; no output anywhere.

Root cause

Cron runs in a bare environment: PATH and shell differ from your terminal.

Fix, in order

1. Confirm cron itself is alivesystemctl status cron
2. Give cron eyes* * * * * /path/job >> /var/log/job.log 2>&1
3. Use absolute paths everywhere/usr/bin/python3 /opt/scripts/job.py
4. Set PATH explicitly in the crontabPATH=/usr/local/bin:/usr/bin:/bin

Prevent it coming back

Every cron job must log somewhere and get alerting (even "did not run" alerts).

Run it on clean infra

Spinning up a fresh box to reproduce or escape this error?

DevOps tools shelf

Related

Cloud & DevOps tool comparisons · Hardware build guides

NinjaOps publishes free engineering guides. Some outbound links are affiliate links: they cost you nothing and support the site.

Last reviewed 2026-10-02 · NinjaOps SEO grid · DevOps blog