Cronjobs with failure notifications

A cronjob that fails silently is often noticed days later – when orders are stuck, backups are missing or newsletters never go out. Cronjob.de calls your address on schedule and tells you as soon as something goes wrong: by email, in Slack, Teams or Discord, or via webhook.

The problem

Why cronjobs usually stay silent

The cron on a Linux server at most emails the output of a command – it never learns whether a page it called answered with an error. Hosting providers' cron managers usually report nothing at all. And a cron that piggybacks on page visits, like WP-Cron, simply stops when nobody comes by.

How it works

What Cronjob.de reports – and how

One alert per incident

You learn when a cronjob switches from running to failing – and get an all-clear as soon as it recovers. No flood of emails for per-minute jobs.

What counts as a failure

Your server answers with an error code (4xx, 5xx) or refuses the connection. Returning status 500 from your script reports your own errors too.

Quiet or immediate

At most one message every 15 minutes with several affected cronjobs combined – or at most one message per day.

Email, chat, webhook

By email and additionally in Slack, Microsoft Teams or Discord. Or as a signed JSON webhook to an address of your choice, for example for Pushover or Telegram.

Log with output

The last 20 calls per cronjob with status, runtime and up to 5,000 characters of the response. Plus statistics for the last 200 runs.

Certificate expiring

When calling your address we see how long its SSL certificate is valid, and on request we let you know in good time.

Tip

Let your script report its own errors

Many scripts abort and still answer with status 200 – from the outside everything looks fine. Catch errors and return status 500. Cronjob.de then reports exactly that run, and the error message shows up in the log.

<?php
try {
    // ... die eigentliche Arbeit ...
    echo 'OK';
} catch (Throwable $e) {
    http_response_code(500);
    echo 'Fehler: ' . $e->getMessage();
}

FAQ

Common questions

Do I get an email for every failed run?
No. You are notified when a cronjob switches from "running" to "failing", and again when it recovers. If it stays broken you do not get an email every minute, but exactly one per incident.
When does a call count as failed?
When your server answers with an error code (4xx or 5xx) or refuses the connection. So that errors inside your script are caught too, simply have it return status 500 on failure – see the example above.
Is this available on the free plan?
Failure notifications are part of the Unlimited plan (€3.99 per month, €47.88 per year). You can try them for free during the first 14 days after signing up.
Can I send the alert to Slack, Teams or Discord?
Yes, in addition to the email. Slack connects with one click; for Discord and Microsoft Teams you paste the webhook address. For anything else – such as Pushover or Telegram – there is a JSON webhook your own script can forward.
My server rejects the calls with 403. What now?
That almost always comes from a firewall or a security plugin. How to solve it is explained in the troubleshooting guide.

Try it free for 14 days

Every sign-up starts with 14 days of Unlimited – with failure notifications, log and one-minute intervals. After that, up to five cronjobs keep running for free.

Start for free See pricing