Cron troubleshooting guide

How to Check If a Cron Job Is Running

A process listing alone is weak evidence. Check scheduler evidence, logs, output and the completion signal that matters to the job.

Step 01 of 080 of 8 complete

Start with the scheduler

Confirm that the cron entry exists for the intended user, the cron service is enabled and the schedule resolves to the expected timezone. A missing or disabled schedule means the job cannot report anything.

Check logs and command output

Look for a start timestamp, an end timestamp and the exit status. Capture standard output and standard error in a controlled log. A log entry that says the command started is not proof that it completed.

Check the process carefully

A process listing can help during a long-running job, but it can also show a stuck process, a wrapper shell or an old process from a previous run. Use a PID, start time, expected duration and completion marker where possible.

Add completion evidence

For recurring work, send an outbound heartbeat after the meaningful completion point. The report should be part of the job's success path, commonly using && so an earlier failure does not produce a success report.

What a heartbeat still cannot prove

It proves that the code reached its reporting step and could send the request. It does not validate every output record or guarantee a backup can be restored. Pair it with application-specific validation.

See cron job monitoring for the product pattern and heartbeat API for the authenticated request contract.

Your progress stays on this device.