PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Cronjob/tab



crash_lux
07.01.05, 10:35
Hallo zusammen,

hoffe diesen thread gibt es noch nicht .. wenn ja tut es mir leid ;)

ich habe da ein Problem, was sich auch nach langem Googeln /Foren und immer wieder man lesen nicht lösen lässt.
Ich benötige für mein Projekt einen cronjob der später ein PHP- script aufruft.
So.
Um den cronjob einzurichten habe ich mit crontab -e die tabelle im Vi angelegt.
In der Reihenfolge:
-----------------------------------------------------------------------------
#min hour day month dow user command

PATH=$PATH:/sbin:/bin:/usr:/bin:/usr/sbin
*/2 * * * * root /usr/local/sbin/testscript
-----------------------------------------------------------------------------

Der Pfad des Scriptes stimmt. Das Script selbst habe ich mit chmod 700 zum ausführen versehen.

So warte ich nun 2 min... startet der Job und ich bekomme eine mail mit folgendem Auszug:


From root@linux.site Fri Jan 7 10:40:01 2005
Return-Path: <root@linux.site>
X-Original-To: root
Delivered-To: root@linux.site
Received: by linux.site (Postfix, from userid 0)
id 2BF101EA24; Fri, 7 Jan 2005 10:40:00 +0100 (CET)
From: root@linux.site (Cron Daemon)
To: root@linux.site
Subject: Cron <root@linux> root /usr/local/sbin/testscript
X-Cron-Env: <PATH=$Path:/sbin:/bin:/usr:/bin:/usr/sbin>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
Message-Id: <20050107094000.2BF101EA24@linux.site>
Date: Fri, 7 Jan 2005 10:40:00 +0100 (CET)

/bin/sh: line 1: root: command not found


leider ist hier kein Linuxspezialist:( und ich sitze da seid gestern mittag 12:00 Uhr dran.
Es währe nett mir zu helfen ;) hoffe jemand kann mir helfen.

Ich benutze Suse Linux 9.2 und lerne noch damit umzugehen ;)))


Danke schonmal

Gruß CrasH

Stormbringer
07.01.05, 10:42
Laß mal das root weg:


*/2 * * * * /usr/local/sbin/testscript


Gruß

crash_lux
07.01.05, 10:52
Vielen Dank es leuft ;) juhu *g

crash_lux
07.01.05, 13:49
Ich habe mich wohl zu früh gefreut :(
also die testdatei ging wunderbar zu starten nur mit der php datei ... hmm

ich habe herausgefunden das ich das mit wget machen kann also


* * * * * wget /pfad/zum/skript/skript.php


das resultat ist hier
wget command not found ...

mit lynx das gleiche

:( bin am verzweifeln

Ich danke im voraus für jede hilfe ;)

Multe
07.01.05, 13:54
Hallo,

das ist auch kein Wunder, weil er nur wget ausführt und das anscheinend nicht findet. Den Rest ignoriert er.

* * * * * * '/pfad/zu/wget /pfad/zu/skript'

Probier es mal so, lass ggf. die ' weg und die Sterne natürlich anpassen.

Gruß Malte

tictactux
07.01.05, 14:00
* * * * * /usr/bin/wget /pfad/zum/skript/skript.php

Füge den vollständigen Pfad zu wget/lynx ein, wie oben angedeutet.
Und ersetze das erste * besser mit einem längeren Intervall, z.B. */2
wie vorher schon benutzt.

Gruß,
Wolfgang

EDIT: zu langsam, aber ich sehe einen überzähligen Stern :D

crash_lux
07.01.05, 14:24
Danke für die schnelle Antwort. aber leider geht das auch nicht .
Bekomme als mail nun den fehler:


/usr/bin/wget/home/projektuser/script.php : Not a directory

was mache ich da bloss falsch :mad:


Gruss

tictactux
07.01.05, 14:30
zwischen wget und /home ist ein Leerzeichen !

crash_lux
07.01.05, 14:45
das hatte ich auch schon versucht ;)

fehler:

projektuser/skript.php: unsupported scheme
heisst das nun das er das skript findet, aber er den code nicht versteht ?

Gruss Björn

tictactux
07.01.05, 15:01
projektuser/skript.php: unsupported scheme
heisst das nun das er das skript findet, aber er den code nicht versteht ?

Gruss Björn
wget holt Daten über Internet-Protokolle. Den Namen eines Skriptes auf
dem lokalen Rechner kannst Du nicht angeben. wget's Argument ist
somit eine URL (kein Dateiname).
Ein PHP-Skript kannst Du nur über eines der unterstützten Protokolle
(http,ftp,...) angeben (um den von ihm gelieferten Inhalt downzuloaden).
Sinnvoll wäre also etwas wie: /usr/bin/wget http://localhost/script.php

Also denke darüber nach, und stelle bitte Fragen für Außenstehende
nachvollziehbar.
Im ersten Post war von einem /usr/local/sbin/testscript die Rede
welches dann zu einem lokalen PHP-Script mutiert ?
Ich kann darin keine Logik erkennen, sorry.

crash_lux
07.01.05, 16:57
wget holt Daten über Internet-Protokolle. Den Namen eines Skriptes auf
dem lokalen Rechner kannst Du nicht angeben. wget's Argument ist
somit eine URL (kein Dateiname).
Ein PHP-Skript kannst Du nur über eines der unterstützten Protokolle
(http,ftp,...) angeben (um den von ihm gelieferten Inhalt downzuloaden).
Sinnvoll wäre also etwas wie: /usr/bin/wget http://localhost/script.php

Also denke darüber nach, und stelle bitte Fragen für Außenstehende
nachvollziehbar.
Im ersten Post war von einem /usr/local/sbin/testscript die Rede
welches dann zu einem lokalen PHP-Script mutiert ?
Ich kann darin keine Logik erkennen, sorry.

Hi,
ja die Pfade habe ich im laufe des ausporbierens öfters mal geändert ;)

Vielen dank für diesen Tip ! :) wenn ich auf meinem Rechner zuhause alles eingerichtet habe, werde ich es direkt mal probieren. Beim ersten Posting war ich bei der Arbeit wo niemand mit wirklich guten linux kenntnissen da war. Sry wenn ich unnachvollziehbare postings schreibe aber im ersten post steht ja auch


Ich benutze Suse Linux 9.2 und lerne noch damit umzugehen
;)
Seid einem halben Jahr ca ^^

Also danke nochmal für die schnelle Hilfe ;)

gruss Björn