FAQ-Bereiche
Beliebte FAQs 
- Wie kann ich Nameserver-Einträge ändern?
- Wie können wir ein Gästebuch installieren?
- Wie richten wir einen Cronjob ein?
- UNIX-/LINUX-Kommandos
- Wie können wir für mySQL einen User einrichten?
- Wie nutzt man 'formmail.pl' zum Versenden von Formulardaten per ...
- Ich habe mein Backroom-Passwort vergessen
- Was ist Multidomainhosting?
- Wie lege ich einen virtuellen Host (vhost) an?
- Wie beantragen wir ein SSL-Zertifikat?
Wie richten wir einen Cronjob ein?
Um das automatische Ausführen eines Skriptes auf Ihrem virtuellen Server zu erreichen, kann ein sogenannter Cronjob eingerichtet werden. Gesteuert wird das Cron-System über den Cron-Dämon. Welche Skripte wann ausgeführt werden sollen, wird Cron über sogenannte Crontab-Einträge mitgeteilt, die in der Cron-Tabelle des Systems eingetragen werden.
Die Einrichtung von solchen Cronjobs kann direkt über das easyTECC-Administrationstool erfolgen, wobei das Zeitintervall
und das auszuführende Kommando angegeben werden müssen.
Wenn per Cron eigene PHP-Skripte ausgeführt werden sollen, muss der erste Teil des auszuführenden Kommandos auf den
PHP-CLI-Interpreter (CLI=Command Line Interface) verweisen:
/usr/sbin/php-cli528
Für die PHP-CLI-Variante können Sie sogar eine eigene php.ini verwenden, z.B. um die maximale Skript-Laufzeit zu erhöhen.
Erstellen Sie zu diesem Zweck bitte das Verzeichnis
/usr/local/etc/phpcgi
und kopieren die Datei
/etc/php.ini
in das Verzeichnis. Wenn als Apache-Modul nicht PHP5.2.8 genutzt wird, muss die Zeile, die mit "extension_dir =" beginnt,
auf Folgendes geändert werden:
extension_dir = /usr/local/php5.2.8AP2/lib/php/20060613
Ein Cronjob, der ein lokales PHP-Skript ausführt, kann z.B. so aussehen:
/usr/sbin/php-cli528 /home/httpd/docs/cronscript.php 1>/dev/null 2>/dev/null
Manuelles Einrichten eines Cronjobs
Auf Ihrem easyTECC-Server befinden sich in der Datei
/home/web/cronfile
die aktuellen Cronjobs. Diese Datei können Sie ggf. manuell oder mit einem selbst geschriebenen Skript ändern. Die Cronjobs haben dabei folgendes Format:
|
Minuten |
Stunden |
Tag des Monats |
Monat |
Wochentag |
Befehl |
Die Felder werden durch Leerzeichen getrennt. Allerdings kann das letzte Feld, also der Befehl, beliebig viele Leerzeichen enthalten.
Die anderen Felder dürfen keine Leerzeichen enthalten.
Die ersten fünf Felder geben die Zeit an, zu denen Cron den Befehl ausführen soll. Ihre jeweiligen Bedeutungen sind wie folgt:
|
FELD |
BEDEUTUNG |
WERTEBEREICH |
|
Minuten |
Minuten nach der Stunde |
0 - 59 |
|
Stunden |
Stunde des Tages |
0 - 23 ( 0 = Mitternacht ) |
|
Tag des Monats |
Numerischer Tag innerhalb des Monats |
1 - 31 |
|
Monat |
Der Monat des Jahres |
1 -12 |
|
Wochentag |
Der Wochentag |
0 - 6 ( 0 = Sonntag ) |
Beachten Sie, dass die Zählung der Stunden bei Mitternacht beginnt (0) und die Nummerierung
der Tage mit Sonntag (ebenfalls 0). Ein Eintrag in einem dieser Felder kann auch mit einem */ und dem WERT folgend eingerichtet werden. Dies
bedeutet »Führe den Befehl an jedem WERT aus«.
Am besten kann man dies an Beispielen verdeutlichen:
* * */5 * * /usr/local/bin/virtual /usr/local/bin/webalizer -c /etc/webalizer.conf.sample 1>/dev/null 2>/dev/null
- Dieser Cronjob führt Webalizer »an jedem 5. Tag aus«, also am 01., 06., 11. usw.
00 */8 * * * /usr/local/bin/virtual /usr/local/bin/webalizer -c /etc/webalizer.conf.sample 1>/dev/null 2>/dev/null
- Dieser Cronjob führt Webalizer »alle 8 Stunden aus«, also um 00:00, 08:00, 16:00 usw.
Der Befehl '1>/dev/null 2>/dev/null' am Ende dieser beiden Beispiele dient zum Deaktivieren der Systemmeldungen
beim Ausführen eines Cronjobs. Ohne diesen erhalten Sie bei jedem Ausführen des Cronjobs eine "unnötige" E-Mail.
Speichern Sie nun diese Datei 'cronfile' im Verzeichnis '/home/web'
Dann geben Sie in Ihrem Telnet-Prompt 'crontab /home/web/cronfile' ein - das war's. Nun sind die Cronjobs dem Cron übergeben. Dies können
Sie mit dem Befehl
crontab -l
überprüfen. Es wird Ihnen nach Eingabe dieses Befehls der eigentliche Inhalt des Cron angezeigt. Sobald Sie die Einträge
komplett löschen möchten, geben Sie bitte
crontab -r
ein.
Hier noch einige der gängigsten Cronjobs:
00 */8 * * * /usr/local/bin/virtual /usr/local/bin/webalizer -c /etc/webalizer.conf.sample 1>/dev/null 2>/dev/null
- für das Ausführen von Webalizer in bestimmten Zeitintervallen
02 00 * * * /usr/sbin/dellogs -d
[domainname]
- für das Löschen der Logdateien von einem bestimmten Domainnamen zu einem bestimmten Zeitpunkt
02 00 * * * /usr/sbin/dellogs -a
- für das Löschen der Logdateien aller Domainnamen zu einem bestimmten Zeitpunkt
WICHTIG:
Achten Sie darauf, dass jede Zeile im 'cronfile' mit einem (und nur einem) "Return" abgeschlossen wird und dass sich in dieser Datei nur die benötigten Zeilen befinden (solange Sie nicht Einträge für weitere Cronjobs nach dem selben Muster anfügen).
Verwandte Artikel:
- Wir (bzw. unser Kunde) haben bereits einen Domainnamen - was tun?
- Mein Provider weigert sich, für meine .de-Domain einen Auth-Info (auch Auth-Code) zu erstellen.
- Wo werden die Domainnamen bezahlt und registriert?
- Wie stelle ich die Domainstatistiken von Webalizer auf AWStats um?
- Wie lege ich einen Datenbankbenutzer und eine Datenbank an?