Zum Inhalt springen

Cronjob.de › Anleitungen › Webspace

Cronjob auf dem Webspace einrichten: ohne SSH, ohne crontab

Einen Cronjob auf dem Webspace richten Sie ohne crontab ein, indem Sie Ihr Skript über eine Adresse aufrufbar machen und diese Adresse nach Zeitplan von außen aufrufen lassen. Dafür brauchen Sie nur FTP und einen Dienst wie Cronjob.de. Das funktioniert bei jedem Hoster, ohne Kommandozeile und ohne anderes Hosting-Paket.

Stand:

Warum überhaupt

Warum es auf dem Webspace hakt

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

Manche Hoster bieten eine eigene Cron-Verwaltung an. Ob sie in Ihrem Paket enthalten ist, welche Takte sie erlaubt und wie lange ein Skript laufen darf, steht in der Hilfe Ihres Hosters. Für einzelne Hoster haben wir das in eigenen Anleitungen zusammengefasst: STRATO, IONOS, All-Inkl und Host Europe.

Viele Systeme behelfen sich mit einem Cron, der bei Seitenbesuchen mitläuft, etwa WP-Cron bei WordPress. Der startet nur, wenn gerade jemand die Seite aufruft. Nachts, auf wenig besuchten Seiten oder hinter einem Seiten-Cache bleibt die Arbeit dann liegen. Ein Aufruf von außen im festen Takt löst das, unabhängig vom Paket.

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 machen direkt beim Schritt „Im Browser testen“ weiter. 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 ersten Zeilen prüfen 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. Nehmen Sie 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.

    Kostenlos starten 14 Tage Unlimited inklusive, keine Zahlungsdaten

  6. Cronjob mit dieser Adresse anlegen

    Tragen Sie die Adresse samt Schlüssel ein und wählen Sie den Takt per Klick. Programmieren müssen Sie dafür nichts: Sie können den Zeitplan auch in einem Satz beschreiben, etwa „alle 5 Minuten“, und der KI-Assistent legt den Cronjob an. 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 und Laufzeit, ab dem Tarif Plus auch den Anfang der Antwort, bei diesem Skript also OK. Schlägt ein Aufruf fehl, bekommen Sie ab Plus 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 Takte und Laufzeiten, nehmen Sie die. Ein Aufruf von außen lohnt sich, wenn Sie einen engeren Takt brauchen, Ihr Paket keine Cron-Verwaltung enthält oder Sie ein Protokoll und eine Meldung bei Fehlern möchten. Wann welcher Weg passt, steht im Vergleich der drei Wege.
Wie richte ich einen Cronjob ohne SSH-Zugang ein?
Ohne SSH legen Sie das Skript per FTP in den Webspace und machen es über eine Adresse mit geheimem Schlüssel erreichbar. Ein externer Dienst wie Cronjob.de ruft diese Adresse dann nach Zeitplan auf. Sie brauchen dafür weder eine Kommandozeile noch eine Cron-Verwaltung beim Hoster.
Ist es nicht gefährlich, wenn das Skript öffentlich erreichbar ist?
Mit der Schlüsselprüfung am Anfang 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 ein PHP-Skript nach dem Auflegen weiter, bis das Zeitlimit des Servers 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 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. Andere Fehler wie 401, 404 oder 500 erklärt die Fehlersuche.

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