- Bestellen
- Providerwechsel
- Rechnung & Vertrag
- Service & Infos
- Domains
- Homepage-Baukasten & Online-Shop
- ManagedHosting & ManagedServer
- Webhosting & Webhosting Plus
- VPS
- SSL-Zertifikate
- Microsoft 365
- Reseller
- Sucuri Website Security
- Managed Wordpress
- Aktuelles
Cronjobs
Alle ausklappen
Alle einklappen
Was sind Cronjobs und was kann ich damit machen?
Ein Cron-Daemon ist ein Dienst auf dem Webserver, der es ermöglicht, Aufgaben – sogenannte Cronjobs – zeitgesteuert auszuführen. Mittels eines Cronjobs können Sie so Skripte in regelmäßigen Abständen auf dem Webserver ausführen lassen und dadurch z.B. wiederkehrende Aufgaben automatisieren.
Ein Beispiel für die Verwendung von Cronjobs ist das Komprimieren von Logfiles: Mit Cronjobs ist es möglich, ein Skript auszuführen, das die Logfiles der letzten Woche automatisch komprimiert, verpackt und an eine bestimmte E-Mail-Adresse versendet.
Was ist der Unterschied zwischen Cronjobs und Profi-Cronjobs?
DomainFactory bietet je nach Tarif verschiedene Arten von Cronjobs an – Cronjobs und Profi-Cronjobs. Der Unterschied: Profi-Cronjobs können zeitlich präziser gesteuert werden.
Cronjobs:
- Die Cronjobs werden am Ausführungstag zwischen 03:00 und 05:00 Uhr morgens, durchgeführt. Eine genauere zeitliche Steuerung ist jedoch nicht möglich.
Profi-Cronjobs:
- Die Cronjobs können zeitlich gesteuert – bis zu fünf Minuten genau – ausgeführt werden.
- In ausgewählten Paketen können die Cronjobs mehrmals täglich in den folgenden Intervallen ausgeführt werden:
-
- alle 5 Minuten
- alle 10 Minuten
- jede Viertelstunde
- jede halbe Stunde
- jede Stunde
- alle 2 Stunden
- alle 4 Stunden
- alle 8 Stunden
- Die Pakete mit Intervall-Unterstützung für Cronjobs entnehmen Sie bitte der folgenden Frage.
In welchen Tarifen kann ich Cronjobs nutzen?
Cronjobs können in den folgenden Tarifen genutzt werden:
- ManagedHosting S (nicht mehr erhältlich)
- ManagedHosting M (nicht mehr erhältlich)
Profi-Cronjobs stehen ab ManagedHosting Pro zur Verfügung.
Zusätzlich: Intervalle für Profi-Cronjobs
In den folgenden Tarifen können zusätzlich Intervalle für Profi-Cronjobs genutzt werden:
- Aktuelle Tarife: ab ManagedHosting Pro
- Nicht mehr erhältliche Tarife:
- in allen ManagedServer-Tarifen
- in allen ResellerDedicated-Tarifen
- im individuell konfigurierbaren ManagedHosting
- in ManagedHosting L
- in ManagedHosting XXL
- in ResellerPlus 50
- in ResellerPlus 100
Ob Cronjobs in Ihrem Paket verfügbar sind, können Sie außerdem der Leistungsbeschreibung des Pakets entnehmen. Darüber hinaus stehen Ihnen unsere Kundenservice-Mitarbeiter selbstverständlich gerne für Fragen zur Verfügung!
Wie kann ich einen Cronjob einrichten?
- Um einen Cronjob einzurichten, loggen Sie sich ins Kundenmenü ein und wählen den Menüpunkt "Cronjobs".
- Klicken Sie anschließend auf "Neuen Eintrag erstellen". Jetzt können Sie einen Cronjob erstellen. Auf dieser Seite des Kundenmenüs finden Sie außerdem wichtige Informationen zum Ziel und den Ausführungszeiten von Cronjobs.
Falls Sie das Skript, das per Cronjob ausgeführt werden soll, unter Windows erstellen, beachten Sie bitte:
Unter Windows werden Zeilenumbrüche anders dargestellt als bei Linux-basierten Systemen. Das kann zu Problemen führen, wenn Sie das Skript unter Windows erstellen und dann auf Ihren Webspace übertragen, der auf einem Linux-Server liegt. Achten Sie daher darauf, dass beim Hochladen des Skripts auf Ihren Webspace im FTP-Programm als Transfertyp "ASCII" gewählt ist. Dann werden die Umbrüche bei der Übertragung der Datei korrekt umgewandelt.
Wichtige Information zur Erstellung der Shellskripte:
Bitte beachten Sie, dass Sie Shellskripte - welche Sie als Cronjob ausführen möchten - immer mit der sog. "Shebang" beginnen. Die "Shebang" setzt sich immer aus der Zeichenfolge #!/bin/sh
zusammen. Skripte die nicht mit dieser Zeichenfolge starten, können leider zu unvorhergesehenem Fehlverhalten führen.
Weitere Informationen zu Cronjobs
Weitere Informationen rund um Cronjobs erhalten Sie auch über die Suchfunktion in unserem Kundenforum: <link forum>Zum DomainFactory-Forum
Was bedeutet die Einstellung "Ziel"?
Je nach Art des Aufrufs (HTTP oder Direkt) bezeichnet "Ziel" eine URL, die aufgerufen werden soll oder den Pfad zu einem Skript in Ihrer Verzeichnisstruktur.
Als URL werden 3 Optionen akzeptiert:
- http ://subdomain.ihre-domain.tld/pfad/datei
- subdomain.ihre-domain.tld/pfad/datei
Dies ist ohne SSL-Warnung nur möglich, wenn ein gültiges SSL-Zertifikat für Ihre Domain eingerichtet wurde. - sslsites.de/ihre-domain.tld/pfad/datei
Diese Option können Sie nur dann verwenden, wenn die Domain über einen Tarif bei DomainFactory registiert ist, der eine SSL-Verschlüsselung enthält.
Ein direkter Aufruf erwartet einen Dateinamen relativ zu Ihrem Serverpfad. Den Serverpfad finden Sie im Kundenmenü unter dem Navigationspunkt "Informationen". Bitte beachten Sie (falls Sie Reseller sind) dass Skripte immer unter Ihrem Hauptbenutzer ausgeführt werden. Außerdem haben diese Skripte nicht die Umgebungsvariablen des Webservers gesetzt, so dass z.B. SCRIPT_URI nicht definiert sein wird.
Was haben die Zeiteinstellungen zu bedeuten?
Das Intervall des Cronjobs können Sie über die drei Kriterien Monat, Tag im Monat und Wochentag festlegen. Damit ein Cronjob gestartet wird, müssen die drei angegebenen Kriterien erfüllt sein.
Die Angaben in den Feldern neben Monat, Tag im Monat und Wochentag können entweder in Zahlen gemacht werden (bei Monaten von 1-12, bei Tagen von 1-31 und bei Wochentagen von 1-7) oder in Textform (Januar, Dez, Montag, Di).
Die Angabe "An den folgenden Monaten/Tagen/Wochentagen" erwartet eine kommaseparierte Liste von Bereichen. Ein Bereich ist entweder ein einzelner Monat, Tag im Monat oder Wochentag oder aber ein Bereich der Form 4-8, bzw. Mittwoch-Freitag oder Mrz-Jun.
Es können beliebig lange Listen angegeben werden.
Hier ein paar Beispiele:
Ein Job soll an jedem Freitag dem 13. gestartet werden:
- Jeden Monat
- Nur am folgenden Tag im Monat: 13
- Nur am folgenden Wochentag: Freitag
Sie möchten, dass der Job immer am ersten Dienstag im Monat ausgeführt wird, aber nicht im Juni:
- Nur an den folgenden Monaten: 1-5,7-12 (oder Jan-Mai,Jul-Dez)
- Nur an den folgenden Tagen im Monat: 1-7
- Nur am folgenden Wochentag: 2 (oder Dienstag, bzw. Di)
Der Cronjob soll alle 2 Tage ausgeführt werden:
- Jeden Monat
- Jeden X. Tag im Monat: 2
- Wochentag
Wie genau können Cronjobs zeitlich gesteuert werden?
Wie präzise Sie die Cronjobs zeitlich steuern können, hängt davon ab, welche Art der Cronjobs in Ihrem Tarif enthalten ist:
- Cronjobs: Die Cronjobs werden am Ausführungstag zwischen 03:00 und 05:00 Uhr morgens durchgeführt. Eine genauere zeitliche Steuerung ist jedoch nicht möglich.
- Profi-Cronjobs: Die Cronjobs können zeitlich gesteuert – bis zu fünf Minuten genau – ausgeführt werden.
Welche Art der Cronjobs in Ihrem Tarif enthalten ist, können Sie der jeweiligen Leistungsbeschreibung entnehmen. Außerdem stehen Ihnen unsere Kundenservice-Mitarbeiter selbstverständlich jederzeit für Fragen zur Verfügung!
Ich führe per Cronjob ein Shell-Skript aus, das wiederum eine PHP-Datei aufruft. Was muss ich beachten?
Wenn Sie per Cronjob ein Shell-Skript ausführen, das wiederum eine PHP-Datei aufruft, müssen Sie den Befehl für den Aufruf der PHP-Datei folgendermaßen anpassen:
env -i /usr/local/bin/php5 -f /[SERVERPFAD]/[UNTERVERZEICHNISSE]/[SCRIPTNAME].php
- Über "env -i" werden die Umgebungsvariablen geleert.
- Über die Option "-f" wird erzwungen, dass das PHP-Skript ausgeführt und nicht einfach nur ausgegeben wird.
Soll dabei eine individuelle PHP.INI-Datei berücksichtigt werden, können Sie diese über die Option "-c
" einbinden. Dies setzt voraus, dass Sie eine eigene PHP.INI angelegt haben. Der Befehl lautet dann z.B.:
env -i /usr/local/bin/php5 -c /[SERVERPFAD]/[UNTERVERZEICHNISSE]/php.ini -f
/[SERVERPFAD]/[UNTERVERZEICHNISSE]/[SCRIPTNAME].php
Sie können natürlich auch die für die Domain gültige PHP.INI direkt nutzen. Verwenden Sie dazu bitte folgenden Aufruf:
/usr/local/bin/php5 -c /etc/php.ini/5/{Auftragsnummer}/{Domainnummer}/php.ini -f
/kunden/{Serverpfad}/{Scriptname}
Um dem Eigentümer Ausführrechte zuzuweisen, verwenden Sie bitte folgenden Befehl:
chmod u+x cron.sh
Neben der voreingestellten PHP-Version können andere PHP-Versionen ausgewählt werden. Eine Übersicht darüber erhalten Sie über SSH im Verzeichnis /usr/local/bin mit:
ls -la /usr/local/bin/| grep php