o

Cronjob.deAnleitungen › Webspace

Cronjob auf dem Webspace einrichten: ohne SSH, ohne crontab

Auf einem eigenen Server tragen Sie einen Cronjob in die crontab ein. Auf einem Webspace geht das fast nie: Sie haben FTP und eine Verwaltungsoberfläche, aber keine Kommandozeile. Diese Anleitung zeigt den Weg, der bei jedem Hoster funktioniert: Ihr Skript wird über eine Adresse aufrufbar, und ein Dienst ruft diese Adresse nach Zeitplan auf.

Warum überhaupt

Warum es auf dem Webspace hakt

Ein Webspace teilt sich einen Server mit vielen anderen Kunden. Deshalb geben Hoster dort keinen Zugriff auf die crontab und meist auch keinen SSH-Zugang. Was es stattdessen gibt, hängt vom Paket ab.

Manche Hoster bieten eine eigene Cron-Verwaltung an. Oft ist sie aber erst in größeren Paketen enthalten, kennt nur grobe Intervalle wie täglich oder stündlich, oder bricht Skripte nach wenigen Minuten ab. Wie das bei einzelnen Hostern aussieht, steht in unseren Anleitungen für STRATO, IONOS, All-Inkl und Host Europe.

Die Notlösung vieler Systeme ist ein Cron, der bei Seitenbesuchen mitläuft, etwa WP-Cron bei WordPress. Der läuft aber nur, wenn gerade jemand die Seite aufruft. Nachts, auf wenig besuchten Seiten oder bei zwischengespeicherten Seiten bleibt die Arbeit liegen, und bei vielen Besuchern bremst sie die Seite.

Aufzurufende Adresse
https://ihre-domain.de/cron.php?key=…
Empfohlenes Intervall
so oft wie nötig, meist alle 5 Minuten
Getestet mit
PHP 7 und 8
Ausreichender Tarif bei Cronjob.de
Der kostenlose Tarif deckt fünf Cronjobs im 5-Minuten-Raster ab. Minutengenau wird es ab Cronjob.de Plus.

Einrichtung

Schritt für Schritt

Kürzer geht es mit der KI

Sie müssen nichts davon selbst übertragen. Kopieren Sie diese Anleitung – oder die Ihres eigenen Systems – in den Assistenten, und Cronjob.de füllt Adresse, Methode, Zeitplan und Kopfzeilen aus. Bei Unklarheiten fragt er nach, statt zu raten. Am Ende sehen Sie, was eingetragen wurde, und legen den Job mit einem Klick an.

Im kostenlosen Tarif enthalten, ohne Aufpreis. Zu finden nach dem Anmelden unter „Cronjobs“ → „Mit KI anlegen“.

  1. Prüfen, ob Ihr System schon eine Adresse mitbringt

    Viele Systeme haben eine fertige Datei, die ihre geplanten Aufgaben abarbeitet, etwa wp-cron.php bei WordPress oder cron.php bei Nextcloud. Dann brauchen Sie kein eigenes Skript und können direkt beim Schritt „Im Browser testen“ weitermachen. Die Adressen gängiger Systeme finden Sie in der Übersicht der Anleitungen.

  2. Eigenes Skript als Datei ablegen

    Für eigene Aufgaben legen Sie per FTP eine PHP-Datei in Ihren Webspace, zum Beispiel cron.php. Die erste Zeile prüft einen geheimen Schlüssel, damit nicht jeder Besucher die Arbeit auslösen kann. Danach folgt Ihr eigentlicher Code.

    <?php
    // cron.php - wird von Cronjob.de nach Zeitplan aufgerufen
    if (!isset($_GET['key']) || !hash_equals('EIN-LANGES-GEHEIMNIS', (string) $_GET['key'])) {
        http_response_code(403);
        exit;
    }
    ignore_user_abort(true);   // weiterarbeiten, auch wenn der Aufrufer auflegt
    set_time_limit(300);
    
    // ... hier die eigentliche Arbeit: Daten abgleichen, Mails senden, aufräumen ...
    
    echo 'OK';
  3. Einen langen Schlüssel wählen

    Ersetzen Sie EIN-LANGES-GEHEIMNIS durch eine zufällige Zeichenfolge mit mindestens 30 Zeichen, zum Beispiel aus Ihrem Passwortmanager. Nur Buchstaben und Ziffern, dann gibt es in der Adresse nichts zu kodieren. Die fertige Adresse sieht so aus:

    https://ihre-domain.de/cron.php?key=k8Qz3vN1pR7wXc2mT9bL5sHf4gJd6aYe
  4. Im Browser testen

    Rufen Sie die Adresse einmal mit Schlüssel auf: Richtig ist die Antwort OK. Dann einmal ohne Schlüssel: Jetzt muss eine leere Seite mit Fehler 403 kommen. Fragt der Browser nach einem Passwort oder kommt eine Fehlerseite des Hosters, liegt ein Verzeichnisschutz oder eine Firewall davor.

  5. Konto bei Cronjob.de anlegen

    Die Registrierung dauert eine Minute und ist kostenlos. Fünf Cronjobs bleiben dauerhaft gratis, die ersten 14 Tage laufen im Unlimited-Tarif.

  6. Cronjob mit dieser Adresse anlegen

    Tragen Sie die Adresse samt Schlüssel ein und wählen Sie den Takt. Liegt Ihr Skript hinter einem Verzeichnisschutz, hinterlegen Sie Benutzername und Passwort in den erweiterten Einstellungen des Cronjobs.

    */5 * * * *

    Diesen Ausdruck können Sie bei Cronjob.de direkt so eintragen – das Zeitplanfeld versteht die Crontab-Schreibweise. Sie müssen sie aber nicht kennen: klicken Sie den Takt stattdessen einfach an.

Was die fünf Felder eines Ausdrucks wie */5 * * * * bedeuten, steht in der Crontab-Referenz – mit Beispielen und den häufigsten Stolpersteinen. Bauen können Sie den Ausdruck im Crontab-Generator. Ob Sie dafür überhaupt einen Dienst von außen brauchen, zeigt der Vergleich der drei Wege.

Kontrolle

Läuft es wirklich?

Im Aufrufprotokoll von Cronjob.de sehen Sie nach wenigen Minuten jeden Aufruf mit Status, Laufzeit und dem Anfang der Antwort, bei diesem Skript also OK. Schlägt ein Aufruf fehl, bekommen Sie auf Wunsch eine Mail. Für den allerersten Test können Sie im Skript zusätzlich Datum und Uhrzeit in eine Datei schreiben.

FAQ

Häufige Fragen zu Webspace

Mein Hoster hat eine Cron-Verwaltung. Brauche ich das trotzdem?
Nicht unbedingt. Reichen Ihnen deren Intervalle und Laufzeiten, nehmen Sie die. Ein Aufruf von außen lohnt sich, wenn Sie einen engeren Takt brauchen, Ihr Paket keine Cron-Verwaltung hat oder Sie ein Protokoll und eine Meldung bei Fehlern möchten. Wann welcher Weg passt, steht im Vergleich der drei Wege.
Ist es nicht gefährlich, wenn das Skript öffentlich erreichbar ist?
Mit dem Schlüssel in der ersten Zeile löst es nur aus, wer den Schlüssel kennt. Nutzen Sie https, damit die Adresse unterwegs nicht mitgelesen werden kann, und geben Sie im Skript keine vertraulichen Daten aus. Wer mehr möchte, legt zusätzlich einen Verzeichnisschutz mit Benutzername und Passwort davor. Cronjob.de meldet sich dann bei jedem Aufruf an.
Was passiert, wenn mein Skript länger braucht?
Wir warten 45 Sekunden im kostenlosen Tarif und 60 Sekunden in den bezahlten. Danach legen wir auf. Mit ignore_user_abort(true) arbeitet Ihr Skript bei den meisten Hostern trotzdem weiter, bis deren eigenes Zeitlimit greift. Sicherer ist es, große Arbeiten in Häppchen zu teilen: je Aufruf zum Beispiel 100 Datensätze, dafür häufiger.
Geht das nur mit PHP?
Nein. Aufgerufen wird eine Adresse, was dahinter läuft, ist uns gleich. Das kann ein PHP-Skript sein, eine Route in Ihrer Anwendung, ein Webhook oder ein Python-Skript, das Ihr Hoster über das Web ausführt.
Kann ich auch mehrere Aufgaben mit verschiedenen Takten laufen lassen?
Ja. Legen Sie je Aufgabe eine eigene Datei oder einen eigenen Parameter an und dafür je einen Cronjob mit eigenem Zeitplan. So sehen Sie im Protokoll auch getrennt, welche Aufgabe gelaufen ist.
Ihr Server weist unsere Aufrufe ab? Ein Fehler 403 kommt fast immer von einer Firewall, einem Sicherheits-Plugin oder einem Verzeichnisschutz – nicht von Ihrem Skript. Alle unsere Aufrufe tragen die feste Kennung Cronjob.de im User-Agent. Bitten Sie Ihren Hoster um eine Ausnahme dafür; das ist zuverlässiger als eine Freigabe per IP, weil sich unsere Adressen ändern können. Adressen und Einzelheiten in den häufigen Fragen.

Cronjob jetzt anlegen

Konto anlegen, Adresse eintragen, Zeitplan anklicken. Fünf Cronjobs sind dauerhaft kostenlos, die ersten 14 Tage laufen im Unlimited-Tarif.

Kostenlos starten Preise ansehen