Updated May 2026 · 7 min read
When cron is not working, the symptoms are always the same: nothing happens, and there are no useful error messages. But the root cause is different depending on your platform.
This guide is a structured debugging checklist. Jump to your platform or read through all of them.
systemctl status cron. If stopped, start it with systemctl start cron.grep CRON /var/log/syslog (Debian/Ubuntu) or journalctl -u cron (systemd). If no entries appear at the expected time, the expression itself is the issue./bin/bash /path/to/script.sh. If it fails, fix the script before blaming cron.PATH=/usr/local/bin:/usr/bin:/bin at the top of your crontab.>> /tmp/cron.log 2>&1 to your cron command to capture errors.min hour dom month dow year. A 5-field Linux expression will be rejected or misinterpreted.? in either day-of-month or day-of-week. Using * in both is an error.kubectl get cronjob <name> — look at the LAST SCHEDULE and ACTIVE columns.spec.suspend. If true, the CronJob exists but never creates Jobs.timeZone: America/New_York on an older cluster, it is silently ignored and the job runs in UTC.kubectl describe job <job-name> — look for ImagePullBackOff or CrashLoopBackOff.Forbid and a previous run is still active, new runs are skipped silently.main). A schedule in a feature branch does nothing.vercel.json under crons. Syntax errors in the file silently disable cron.Regardless of platform:
* * * * * to confirm the mechanism works, then refineWant automated monitoring for all your cron jobs? Join the cronwiz waitlist — we are building AI-powered cron monitoring that alerts you in plain English when jobs miss, fail, or slow down.