Cronjobs von Zuhause aus 19. April 2006 um 15:03 Uhr / Programming

Eingestellt am 19. April 2006 um 15:03 Uhr » Programming

Vor ein paar Tagen berichtete Manuela über Cronjobs kostenlos - Cronjob.de. Dieser dienst fordert, so weit ich das verstanden habe, eine zur angegebenen Zeit eine Seite auf dem eigenen Webspace an, hinter der sich dann zum Beispiel ein Datenbank-Sicherungs-Script verbirgt. Da kam mir die Idee,das man sich, wenn der eigene Rechner sowieso, wie meiner, durchläuft, oder wenn man einen anderen Server mit Cronjob möglichkeit hat, gar nicht auf Cronjob.de verlassen muss.

cURL

cURL hatte ich ja schon einmal in einem früheren Posting über Manuelle Trackbacks vorgestellt. Es ist ein Programm für die Kommandozeile um Resourcen über HTTP, FTP und andere Protokole abzufragen. cURL verhält sich dabei wie ein ganz normaler Browser und kann auch Cookies, Passwörter und andere schöne Sachen. Wenn man dann z.B. ein PHP Script hat, welches eine bestimmte Aufgabe erledigt kann man es entweder von Hand über den Browser (Firefox, Opera, etc.) aufrufen, oder in die Kommandozeile etwas in dieser Art reinschreiben:

curl http://example.com/dump.php

… was die gleiche Wirkung hat, nur dass die Ausgabe dann in der Kommandozeile erfolgt. Falls man das umleitet sogar in eine Datei:

curl http://example.com/dump.php -o dump.sql.tar.gz

Sinnvoll ist es dabei die Daten auf dem Server gleich zu zippen (packen) um Traffic über das Internet, und Platz auf der Festplatte zu sparen. Wunderbar, aber wo ist dabei der Vorteil gegenüber dem Aufrufen im Browser?

Cronjob, bzw. Taskplaner

Ok, die Unixer/Linuxer werden wohl fast alle irgendein cron Programm installiert haben. Aber auch die, die unter Windows leiden arbeiten haben auf ihrem System so eine Funktionalität, dort heißt es Taskplaner. Ich gehe hier jetzt nicht näher auf die Installation und Konfiguration der Programme ein, sondern verwise mal auf unixgeeks | Intro to cron (Englisch) und Microsoft | Planen eines neuen Tasks.

Und nun die Verschmelzung

Ja ihr habt richtig geraten, diese zwei Programme können zusammenarbeiten, denn cron, bzw Taskplaner sind nur für das Ausführen von anderen Programmen in bestimmten Zeitabständen, bzw. zu einem Bestimmten Zeitpunkt zuständig. Das schöne ist, dass alles komplett im Hintergrund abläuft, am besten noch nachts, wenn sowieso niemand am Rechner sitzt.

Man konfiguriert also cron/Taskplaner so, dass er zum Beispiel jeden tag um 3:00 Uhr nachts diesen Befehl ausführt:

curl http://example.org/dump.php -o "C:/Dokumente und Einstellungen/Administrator/Eigene Dateien/Backups/example_org.sql.tar.gz"

Dann ruft der Rechner diese Seite auf uns speichert die Ausgabe in der Datei example_org.sql.tar.gz ab. Die Anführungszeichen sind dazu da, damit die Leerzeichen im Pfad als zum Pfad dazugehörig angesehen werden.

Man kann das Script die Daten aber auch direkt auf dem Server speichern lassen und die Ausgabe mit -s unterdrücken, oder einfach verwerfen. Man kann sein Script auch Passwortgeschützt mit .htaccess oder sonst wie sichern. Weitere Informarionen zu cURL findet man auf Englisch auf der cURL manpage.

Wie oben erwähnt ist man nun von externen Diensten unabhängig, so lange der Rechner Zugang zum Internet hat. Wenn man vielleicht sogar einen Bekannten hat, der noch ein paar cronjobs auf seinem Server frei hat, kann man diese somit auf für den eigenen Server, welcher ohne diese Funktionalität auskommen muss, nutzen. Und nun viel Spaß beim cronen und cURLen ;-).


Pingbacks

  1. TinyURL auf Zwischenspeicher anwenden - jeenaparadies.net

Kommentare

Die Kommentare sind für diesen Eintrag geschlossen.