• This forum has a zero tolerance policy regarding spam. If you register here to publish advertising, your user account will be deleted without further questions.

cronjob wget frage

Lord_Icon

Member
Hi,

ich führe das einmal Nachts aus:

Code:
0 0 * * * wget -q "http://localhost/SQL/2_import_into_DB.php" >/dev/null 2>&1

Das klappt auch seit einigen Tagen perfekt.

Nur leider erzeugt es in /root/ einige Datein die ich eigendlich in den Mülleimer schicken will, weil das Script selbst eine Mailfunktion drin hat um Probleme zu melden.

Was mache ich denn falsch ?

Danke
 
Warum ruft du das Script nicht direkt mit PHP auf, sondern nimmst den Umweg über wget und einen Webserver. Ich würde es so probieren:
Code:
0 0 * * * /usr/bin/php /path/to/SQL/2_import_into_DB.php
PHP-CLI mußt dafür natürlich installiert sein. Ich habe bei mir mehrere Scripte so eingebunden. Ggfl. mußt du noch die Script-Ausgabe umleiten oder das Script direkt so auslegen, dass es keine Ausgabe erzeugt.
 
Weil ich mich dann wieder mit den Rechten rumärgen muss.
Ich hab das Script über den Browser entwickelt und auch getestet.

Wenn es die Möglichkeit gibt, dass es Fehlschlagen KÖNNTE... warum sollte ich dann nicht einfach den einfachen Weg gehen und diesen üebr den Browser aufrufen. Tut doch nicht sonderlich weh.

ist auch schon done:
Code:
0 0 * * * wget -q "http://localhost/SQL/2_import_into_DB.php" -O >/dev/null 2>&1
 
Solange Du Dir über die potentiellen Probleme und Einschränkungen beim http-Abruf bewusst bist...

Abgesehen davon, daß manche Scripte besser nicht über's Web abrufbar sein sollten... - aber auch das Risiko musst Du im konkreten Fall selbst einschätzen.
 
Das ich das Script garnicht öffendlich habe und über localhost aufrufe, sollte deine Einwände alles egal sein
 
Du bist Du also 100% sicher, daß das Script nicht über $domain/SQL/2_import_into_DB.php oder über $IP/SQL/2_import_into_DB.php abrufbar ist?

... gerne vergisst man, daß localhost meist auch auf den _default-Server geht...

(und Du schreibst ja selbst, daß Du es über $Browser abrufen kannst)

... oder ist das nur eine lokale Entwicklungsmaschine und es ist auch 100% sicher gestellt, daß das Script nie den Weg auf ein Livesystem finden wird?
 
öhmmm... was ist heute noch 100%tig.

Da der Server aber local steht und davor die Fritte und nix per Portfreigabe definiert worden ist, denke ich, dass das schon passt.
 
Weil ich mich dann wieder mit den Rechten rumärgen muss.

Nein, du mußt den Befehl nur in der crontab des richtigen Users eintragen (der, unter dem auch der PHP-Interpreter des Webservers läuft). Der Aufruf per wget über den Webserver ist mit anderen Einschränkungen verbunden, die wichtigsten wurden bereits genannt.
 
Back
Top