Cron Jobs und Php
TillDrop
- webserver
Hi,
Ich frage mich gerade ob es möglich ist auf Linux Servern Php-Scripte über Cron Jobs anzusteuern !??
Wenn ja wie ? oder gibt es eine alternativ lösung ?
Danke
TillDrop
Hallo TillDrop,
Ich frage mich gerade ob es möglich ist auf Linux Servern
Php-Scripte über Cron Jobs anzusteuern !??
Prinzipiell ja.
Wenn ja wie ?
Stosse in einem Cronjob ein Programm an, dass die
entsprechende URL vom Webserver anfordert. Oder installiere
PHP (zusaetzlich) als Binary-Version.
oder gibt es eine alternativ lösung ?
Benutze eine Sprache, die sich dafuer eignet :)
Gruesse,
CK
Stosse in einem Cronjob ein Programm an, dass die
entsprechende URL vom Webserver anfordert.
wie könnte das aussehen und in was müsste es geschrieben sein und woher weiss ich das ich damit nicht die selben probleme hab wie wenn ich ein php-script ansteuern möchte. welche dateien ausser shell-scripte kann man denn standartgemäs in einem cronjob ansteuern ?
Oder installiere PHP (zusaetzlich) als Binary-Version.
wo finde ich die Binary-version für linux ? ich hasse es zu suchen hast du evtl einen driekten downloadlink ?
Danke
TillDrop
Hi TillDrop,
Stosse in einem Cronjob ein Programm an, dass die
entsprechende URL vom Webserver anfordert.
wie könnte das aussehen ...
Wie wärs mit wget?
Wenn du eine Linux-Distribution installiert hast sollte es dabei sein.
Gruss,
Carsten
Wie wärs mit wget?
Wenn du eine Linux-Distribution installiert hast sollte es dabei sein.
sagt mir nix, was ist das ?
Danke
TillDrop
Hi TillDrop,
Tippe doch auf der Kommandozeile mal:
man wget
oder frage Google:
http://www.google.com/search?q=wget
Gruss,
Carsten
Hi TillDrop,
welche dateien ausser shell-scripte kann man denn standartgemäs in einem cronjob ansteuern ?
prinzipiell jede ausführbare Datei, die Du ausführen darfst. Praktischerweise verwendet man aber eher Skriptsprachen,
und dort je nach Einsatzgebiet eher Perl oder Shellskripte (wobei letzere ja meist nur ein Wrapper um meherere Programme sind).
Nur sollte man vielleicht drauf achten, daß man entweder keine Ausgaben bzw. Fehlermeldungen produziert oder diese in Dateien schreibt.
Schönen Gruß
Rainer
prinzipiell jede ausführbare Datei, die Du ausführen darfst. Praktischerweise verwendet man aber eher Skriptsprachen,
und dort je nach Einsatzgebiet eher Perl oder Shellskripte (wobei letzere ja meist nur ein Wrapper um meherere Programme sind).
Nur sollte man vielleicht drauf achten, daß man entweder keine Ausgaben bzw. Fehlermeldungen produziert oder diese in Dateien schreibt.
heißt das wenn ich die php-datei mit dem browser ausführe müsste im prinzip auch nur eine weiße seite zu sehen sein ?
oder kann da ruhig mit print was ausgegeben werden oder meinst du fehlerhaftes coden ?
und in dateien schreiben meinst du text dateien anlegen und datenbanken nutzen, oder was ?
ich hab im script eine funktion mail() darf man diese nutzen ?
Danke
TillDrop
Hi,
oder kann da ruhig mit print was ausgegeben werden oder meinst du fehlerhaftes coden ?
ich meinte eigentlich, da cron Programme oder Skripte ja nicht im Dialog ausführt, daß Meldungen an stdout[1] und stderr[2] abgefangen (und ggf. umgeleitet) werden sollten, weil diese sonst in einer Mail an denjenigen gehen, der die Cronjobs ausführen läßt. Zum Teil ist es aber so, daß diese Mail an den Provider geht, der sich dann gar nicht drüber freut (so eine Frage gab es vor ein paar Wochen hier).
und in dateien schreiben meinst du text dateien anlegen und datenbanken nutzen, oder was ?
Ist beides möglich, Textdateien reichen aber normalerweise aus.
ich hab im script eine funktion mail() darf man diese nutzen ?
mail() generiert normalerweise keinen Output an stdout, ggf. an stderr. Fehlermeldungen solltest Du immer auffangen.
Schönen Gruß aus Bilk
Rainer
[1] stdout ist die Standardausgabe bei Unix. Bei Skripten ist das normalerweise die Textkonsole, bei CGI-Skripten und PHP die Ausgabe, die an den Browser geliefert wird.
[2] stderr ist die Standardfehlerausgabe, die per Default an die gleichen "Orte" wie stdout geschrieben wird; je nach Programm kann dies aber unterschiedlich sein, und man kann stdout und stderr auch an verschiedene Bestimmungen leiten.
Wenn Dir das alles zu kompliziert wird, dann befolge vielleicht doch lieber Carstens Rat ([pref:t=29507&m=159756])
Hi Rainer,
Wenn Dir das alles zu kompliziert wird, dann befolge vielleicht doch lieber Carstens Rat ([pref:t=29507&m=159756])
Das Problem mit der Ausgabe hat man aber mit wget genauso, nur das dann die (Fehler-) Ausgabe von wget per Mail verschickt wird.
Gruss,
Carsten
Hi Carsten,
Das Problem mit der Ausgabe hat man aber mit wget genauso, nur das dann die (Fehler-) Ausgabe von wget per Mail verschickt wird.
ups, ja. Ich hatte mehr an eine clientseitige Ausführung von wget gedacht, aber das wäre im Internet vielleicht nicht unbedingt so gut...
Schönen Gruß aus Bilk
Rainer
Hallo!
Stosse in einem Cronjob ein Programm an, dass die
entsprechende URL vom Webserver anfordert. Oder installiere
PHP (zusaetzlich) als Binary-Version.
Wieso? Ich habe auf Linux PHP ganz normal als Modul isntalliert, dun da kann ich PHP Scripte direkt über die Shell starten wie ich lustig bin, mit #! /usr/bin/php -q in der ersten Zeile kann ich die Scripte sogar direkt starten, das ist doch nicht viel anders als in PERL, oder? Bei der CGI-Version auf einem anderen Server dasselbe!
oder gibt es eine alternativ lösung ?
Benutze eine Sprache, die sich dafuer eignet :)
mache ich doch, PHP eignete sich _bestens_!
PS: http://www.dclp-faq.de/q/q-php-shell.html und http://www.php3.de/manual/en/features.commandline.php, wobei ich bezweifele das ich was kenne was Du nicht kennst ;-)