• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Cron Problem

amswetter

Newbie
Hallo,
ich bin langsam am verzweifeln, ich habe folgendes problem:
Ich füge mit vcron eine datei hinzu, die jede minute ausgeführt werden soll. sie befindet sich im verzeichnis srv/www/htdocs und heißt abc.php.
Dann speicher ich alles und beende wieder vcron.
Aber das eigentliche problem ist, stat die datei auszuführen, schockt mir cron immer ne mail . in der drin steht das die datei nicht existiert!

Mir kommt es sovor, als wenn cron einen stamm verzeichnis hatt, wo er dran den pfad zu eigentlichen datei nur dran hängt.

Was muss ich machen, damit cron die richtige datei findet?

Ich wäre ecuh sehr verbunden wenn ihr mir helfen könntet!

mfg amswetter
 

useher

Member
Hast du die richtigen Rechte und Besitzer und so gesetzt? Kenn mich mit PHP net aus, aber sowas hat ich auch schon.

Gruß Uwe
 
OP
A

amswetter

Newbie
Uwe_S schrieb:
Hast du die richtigen Rechte und Besitzer und so gesetzt? Kenn mich mit PHP net aus, aber sowas hat ich auch schon.

Gruß Uwe

rechte und alles sind richtig vergeben!

Nur irgendwie findet er die datei nicht!

HOME=user's-home-directory
LOGNAME=user's-login-id
PATH=/usr/bin:/usr/sbin:.
SHELL=/usr/bin/sh

Was hat es sich mit den sachen aufsich, kann mir einer die vielleicht erklären?
 
magst vielleicht deinen eintrag in der crontab posten?
Wichtig ist das du vollständige Pfadangaben hast auch zu den befehlen.

Poste erstmal dein eintrag in der crontab
 

useher

Member
amswetter schrieb:
HOME=user's-home-directory
LOGNAME=user's-login-id
PATH=/usr/bin:/usr/sbin:.
SHELL=/usr/bin/sh

HOME ist das jweilige Homeverzaichnis des angemeldeten Benutzers. In der Regel /home/$USER

LOGNAME ist des Users Login-Name

PATH enthält die Verzeichnisse, in denen Linux von alleine sucht, wenn du ein Programm startest. Wenn das nicht in diesen Verzeichnissen steht, mußt du den ganzen Pfad angeben. Könnte auch eine Lösung für dein Problem sein.

SHELL ist die Konsole, mit der der USER arbeiten will. Da gibts mehrere, z.B. sh oder bash

Funktioniert dein Befehl eigentlich ohne cron?


Gruß Uwe
 
OP
A

amswetter

Newbie
HI,
jetzt schick ich mal all die Meldungen die ich ganze zeit von Cron in die mail datei
geschickt bekomme:

From root@abc Fri Mar 10 13:40:02 2006
Return-Path: <root@abc>
X-Original-To: root
Delivered-To: root@abc
Received: by abc (Postfix, from userid 0)
id E6DE9128F1; Fri, 10 Mar 2006 13:40:01 +0100 (CET)
From: root@abc (Cron Daemon)
To: root@abc
Subject: Cron <root@abc> /srv/www/htdocs/wetter/akt_scripte/insert.php
X-Cron-Env: <PATH=/>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
Message-Id: <20060310124001.E6DE9128F1@abc>
Date: Fri, 10 Mar 2006 13:40:01 +0100 (CET)

/srv/www/htdocs/abc/akt_scripte/insert.php: line 1: ?php
: No such file or directory
/srv/www/htdocs/abc/akt_scripte/insert.php: line 2:
: command not found
/srv/www/htdocs/abc/akt_scripte/insert.php: line 3: //All: No such file or directory
/srv/www/htdocs/v/akt_scripte/insert.php: line 4:
: command not found
/srv/www/htdocs/abc/akt_scripte/insert.php: line 5:
: command not found
/srv/www/htdocs/abc/akt_scripte/insert.php: line 6: syntax error near unexpected token `"../temp_daten/aktu.txt",r'
/srv/www/htdocs/abc/akt_scripte/insert.php: line 6: `$datei=fopen("../abc/aktu.txt",r);
'

kann ihr irgendeiner sagen was ich falsch mache,
die dateien und ordner existieren alle, und schreibrechte sind auch richtig vergeben?

So jetzt kommt noch der Crontab dazu:

PATH=/
* * * * * /srv/www/htdocs/wetter/akt_scripte/insert.php

Bitte um schnelle hilfe, den ich bin langsam am verzweifeln!

1000 Dank!

mfg Amswetter
 
OP
A

amswetter

Newbie
So ich das in die php datei eingefügt, aber ich musste
"#!/usr/binphp " zu "#!/usr/bin/php5" ändern.

Jetzt krieg ich die Fehlermeldung:

/bin/sh: /srv/www/htdocs/abc/akt_scripte/insert.php:
Permission denied

Was muss ich jetzt machen?
 

Schroech

Member
amswetter schrieb:
So ich das in die php datei eingefügt, aber ich musste
"#!/usr/binphp " zu "#!/usr/bin/php5" ändern.

Jetzt krieg ich die Fehlermeldung:

/bin/sh: /srv/www/htdocs/abc/akt_scripte/insert.php:
Permission denied

Was muss ich jetzt machen?
Vielleicht das Gleiche? :roll:

[Edit:] Und ausführbar machen?
 

Schroech

Member
Aber bist du dir eigentlich im Klaren darüber, dass diese Skripte dann nicht mehr über den Apache funktionieren werden (zumindest würde ich das erwarten). Oder sollen diese Skripte nur über cron aufgerufen werden?
 
Oben