How they fail
A changed path, a missing environment variable, a full disk, an expired password or an error whose output is mailed to nobody. Nothing visible happens, and the failure is found when the backup is needed or the customer asks why the email never came.
WP-Cron
WordPress has its own scheduler. The WordPress handbook explains that WP-Cron checks scheduled tasks on every page load and runs what is due; it does not run constantly like system cron and it is only triggered by page loads, so tasks can run late on quiet sites. Many agencies run the cron endpoint from a real system cron instead, which then needs monitoring of its own.
An example
The line 30 2 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 --retry 3 https://monitor.example/ping/TOKEN runs a backup at 02:30 every day. The five time fields are minute, hour, day of month, month and day of week. The && sends the heartbeat only when the script succeeded. Cron uses the server’s time zone, so a server set to UTC runs the job at another hour of the clock than the client’s office assumes. When the job stops, the missing ping is the alert.
What to check
That each job reports success to a heartbeat monitor, that output goes to a log someone can find and that the job’s owner is written down.
Sources
Read on . Standards and vendor pages change; confirm the current text before you rely on it.
- WordPress Plugin Handbook, Cron (developer.wordpress.org)