Skip to content

Cronjob.de › Guides › Drupal

Setting up a Drupal cronjob: calling cron reliably from outside

For a reliable Drupal cron, copy the address https://your-domain.com/cron/<key> under Configuration › System › Cron, switch off Automated Cron and have the address called from outside at a fixed interval. The Drupal handbook itself calls this the preferred way to run cron when you have the choice. You do not need a command line for it.

Updated:

Why at all

Automated Cron depends on your visitors

According to Drupal, the Automated Cron module checks at the end of each server response when cron last ran. If that was too long ago, it runs the cron tasks after sending the response. So if nobody drops by, cron does not run either. The default is a run every three hours; on a quiet site it can take much longer.

This affects everything Drupal and its modules do in the background, according to the Cron page for example checking for updates and indexing content for search.

A fixed interval from outside makes the timing predictable and independent of traffic. Drupal also recommends uninstalling Automated Cron to disable it, to reduce site overhead. For the call from outside you need neither Drush nor a cron manager at your host, only the address.

URL to call
https://ihre-domain.de/cron/IHR-SCHLUESSEL
Recommended interval
every 5 to 60 minutes
Tested with
Drupal 10 und 11
Sufficient Cronjob.de plan
The free plan is enough; it calls as often as every five minutes. The one-minute interval comes with Cronjob.de Plus.

Setup

Step by step

The AI does it faster

You do not have to transfer any of this by hand. Paste this guide – or the one for your own system – into the assistant, and Cronjob.de fills in address, method, schedule and headers. Where something is unclear it asks instead of guessing. At the end you see what was entered and create the job with one click.

Included in the free plan at no extra cost. You will find it after signing in under "Cronjobs" → "Create with AI".

  1. Find the cron address

    Sign in as an administrator and go to Configuration › System › Cron (path /admin/config/system/cron). Below the "Run cron" button the full cron address including its key is shown, introduced by "To run cron from outside the site, go to". Copy the address as a whole.

    https://your-domain.com/cron/YOUR-KEY
  2. Switch off Automated Cron

    On the same page there is a setting called Run cron every. Set it to Never and save. As a permanent solution Drupal recommends uninstalling the Automated Cron module under Extend › Uninstall. The setting then disappears, and cron only runs through the call from outside.

  3. Open the address in a browser once

    Call the copied address yourself once. An empty page is correct: Drupal answers with status 204, meaning success without content. Reload the Cron page afterwards; it now says "Last run: … ago" with a few seconds. Error 403 means the key is wrong.

  4. Create an account at Cronjob.de

    Registration takes a minute and is free. Five cronjobs stay free forever, the first 14 days run on the Unlimited plan.

    Start for free 14 days of Unlimited included, no payment details

  5. Create a cronjob with that address

    Enter the address and choose the interval: by clicking, as a sentence for the AI assistant or as a crontab expression. Hourly suits most sites; if you publish content on a schedule or want a fresh search index, use every five or fifteen minutes.

    */5 * * * *

    You can enter this expression at Cronjob.de exactly as it is – the schedule field understands crontab notation. But you do not have to know it: simply click the schedule together instead.

  6. Switch on error notifications

    So that you notice when your site stops responding, enter an email address under Notifications. You will then be notified when a call fails. Failure notifications by email are included from the Plus plan, and free during the first 14 days.

What the five fields of an expression like */5 * * * * mean is explained in the crontab reference – with examples and the most common pitfalls. You can build the expression in the crontab generator. Whether you need an outside service at all is shown in the comparison of the three ways.

Verification

Is it actually running?

In the Cronjob.de call log you will see the first calls with status 204 within a few minutes. Inside Drupal, the Cron page under Configuration › System › Cron shows when cron last ran. Reports › Status report also lists the cron maintenance tasks. That timestamp should never be older than your interval.

FAQ

Common questions about Drupal

Where do I find the Drupal cron key?
Drupal creates it by itself. You will not find it as a separate setting but as part of the finished address under Configuration › System › Cron. Copy the address as a whole.
How often should Drupal cron run?
According to the Drupal handbook, the default suffices for most sites, and that is every three hours. From outside you can call it more often, such as hourly or every five minutes. While a cron run is still going, Drupal does not start a second one: a lock holds for up to 15 minutes.
Is the cron address a security risk?
The key inside the address is the protection. Anyone who does not know it gets error 403 and cannot trigger cron. Treat the address like a password and do not pass it around openly.
Do I really have to switch off Automated Cron?
No, but it makes sense. Otherwise both run in parallel and the timing stays unpredictable. Drupal does use a lock to stop two runs working at once, but the extra check on every page request remains. Drupal therefore recommends uninstalling the module.
My call ends with error 403.
Then the key in the address is wrong. Fetch the address again from the Cron page. Directory-level password protection or a rule in .htaccess can also cause this. For directory protection, store user name and password in the cron job.
What about Drush?
On a server with a command line, drush cron runs all cron tasks. This guide is for hosting without a command line. If you can use Drush and have a crontab of your own, you do not need the call from outside, but you also get no call log and no alert on failures.
Is your server rejecting our calls? Error 403 almost always comes from a firewall, a security plugin or directory protection – not from your script. All our calls carry the fixed identifier Cronjob.de in the user agent. Ask your host for an exception for it; that is more reliable than allowing IP addresses, because ours can change. Addresses and details in the FAQ. Other errors such as 401, 404 or 500 are explained in the troubleshooting guide.

Create your cronjob now

Create an account, enter the address, click the schedule. Five cronjobs are free forever, the first 14 days run on the Unlimited plan.

Start for free See pricing

More guides

Official documentation of Drupal

The details about Drupal come from their own documentation, as of October 2026. Please check there whether anything has changed since. Drupal is a trademark of its respective owner. This guide comes from Cronjob.de and has no business relationship with that provider.

By Joscha Schultze, operator of Cronjob.de · Written with AI assistance, provider details checked against their official pages.