Cronjobs erstellen

Erstellen eines Cronjobs auf UNIX-Betriebssystemen

Über Cron-Jobs können lästige Routine-Aufgaben vereinfacht werden. Unix-Systeme bieten den Cron-Daemon. Hier können zeitbasierte Ausführungen von Programmen eingetragen werden. Für Windows- und Mac-Nutzer kommt hier einiges, was „gewöhnungsbedürftig“ ist.

Erst mal zur schlechten Nachricht: nicht jedes Serverpaket bietet auch Cronjobs an. Also erst mal testen (oder nachlesen) ob überhaupt möglich.

Zum Einloggen werden die FTP-Zugangsdaten benötigt. Teilweise werden auch nur die vom FTP-Hauptaccount akzeptiert.

Einloggen funktioniert am komfortabelsten über WinSCP. Denn dort kann Putty hinterlegt werden (zu finden in WinSCP unter dem Reiter Befehle -> in PuTTY öffnen. Oder einfach nur PuTTY nutzen (dann mehr Tipparbeit für die Einloggdaten).

Putty fragt dann auch nochmals nach dem Passwort.

Ist man jetzt eingeloggt (nur ein Terminalfenster erscheint) kann in der Comandozeile crontab aufgerufen werden:

mit PuTTY Cronjobs über crontab erstellen
mit PuTTY Cronjobs über crontab erstellen
crontab –e

Ist noch nicht vorhanden, wird die Datei angelegt.

Jetzt kommt i.d.R. der Editor „vi“ – der nächste große Spaß. Erstmal darf man Editiermodus starten, der vi startet im Befehlsmodus. Editormodus ist die Taste „i“ – unten rechts taucht dann „—INSERT --„ auf.

Jetzt an das Ende der Datei und die neue Zeile eintragen. Pro Zeile 1 neuer Job.

Hier werden jetzt erst einmal 5 Werte angegeben, wann der Job jeweils ausgeführt werden soll. Die Trennung der Werte erfolgt über ein Leerzeichen:

Minute(0-59) Stunde(0-23) tagimmonat(1-31) Monat(1-12) Wochentag(0-7) /pfad/script.php

Will man z.B. an jedem Tag im Monat etwas ausgeführt, dann einfach ein „*“ eingeben.

Soll eine Ausführung zur 45 Minuten nach 1 Uhr ausgeführt werden (jeden Tag im Monat das ganze Jahr) dann sieht die Zeile wie folgt aus

45 1 * * * /pfad/script.php 

dasselbe wie

45 1 1-31 1-12 0-7 /pfad/script.php

Alles fertig eingetragen? Dann raus aus „vi“ und speichern. Dazu muss der Insert-Modus verlassen werden über die ESC-Taste und dann zum Speichern 2 x ein großes Z (das ist halt vi). Will man nichts sichern, dann „:q!“

Eine E-Mail sollte automatisch an den Root-Besitzer gesendet werden, wenn der Eintrag erfolgt wurde. Und jetzt einfach die Zeit abwarten und schauen, ob alles wie gewünscht funktioniert hat.

Apropos, weil hier so knapp. Mehr Befehle kann man jeweils mit den Manual-Befehlen bekommen:

man crontab
man vi

Zum verlassen die Terminals einfach „exit“ eingeben

So, nun viel Spaß und sachte sein. Auf der Ebene kann man schnell Chaos produzieren!

PHP-Programme auf anderen (eigenen) Webserver aufrufen

Der Cronjob kann auch auf anderen Servern aufrufe starten, wenn über eine URL zugänglich. Dazu wird in der cronjob-Zeile noch lynx genutzt:

45 1 * * * lynx -dump http://www.html-seminar.de/

Verzeichnisschutz per .htaccess

Besteht ein Verzeichnisschutz, kann dieser auch dem Cronjob-Aufruf mitgegeben werden:

45 1 * * * lynx -dump http://www.html-seminar.de/ -auth=name:kennwort

Downloads zum Thema