Cronjob kann nur bestimmte Skripte ausführen?
-
Danke erstmal.
Wie rufe ich aber das Shell-Skript per Cronjob auf?/usr/bin/php /var/www/html/web123/html/folder1/folder2/test.sh
Statt "php" muss da wohl was anderes stehen. Aber was?
MfG
-
Öh, hab mal "/bin/sh" probiert, doch nun bekomme ich lauter Mails:
...test.sh: line 2: wget: command not found
-
Geht der absolute Pfad?
/usr/bin/wget www.foo.bar/index.html
-
Äh, als Cronjob oder als Shell-Skript?
Als Cronjob bekomme ich:/bin/sh: /usr/bin/wget: No such file or directory
-
Oh, wohl als Skript.
Tja, da bekomme ich:/bin/sh: /var/www/html/web123/html/folder1/folder2/test.sh: Permission denied
-
Oh ne sorry, bin ja garnicht web123...
Nun bekomme ich:...test.sh: line 2: /usr/bin/wget: No such file or directory
-
Dann lauft der Webserver wohl als chroot...
Kannst Du per ssh wget auf Deinen Server benutzen?
-
Schau mal ob lynx funktioniert.
-
Sorry, keine Ahnung was ihr meint. Komme aus der Windows-Welt, Linux war mir schon immer unnötig kompliziert (Man muss SO viel mit Text und Kommandos machen, es gibt da sowas wie GUI's ...).
-
Tabb0r schrieb:
Sorry, keine Ahnung was ihr meint. Komme aus der Windows-Welt, Linux war mir schon immer unnötig kompliziert (Man muss SO viel mit Text und Kommandos machen, es gibt da sowas wie GUI's ...).
Klar aber nicht wenn man einen Server per SSH verwaltet... Ich hoffe nur Du hast keinen Root Server gemietet!
-
Webhoster.de Reseller Tarif.
-
Also wie ist das jetzt?
Gibt es nun keine Möglichkeit für mich, ein Skript automatisch ausführen zu lassen?
Warum ist es so begrenzt, dass im Skript kein include stehen darf? Sowas dummes
-
Wenn dein Host dir erlaubt, serverintern ein PHP-Script als Cronjob ausführen zu lassen, versuche mal, alle includes als absoluten Pfad darzustellen (muss ich bei meinem Root-Server auch machen), also include '/home/benutzer/web/script.php';
Außerdem kannst du mal versuchen, ob du die Safe-Mode Einstellung oder andere unliebsame Einstlelungen zur Laufzeit (ini_set) umbiegen kannst. Je nachdem, was dein PHP Script machen soll.
Wenn es gar nicht anderst geht, dann such dir mal einen anderen Server, der dein Script über das Web aufruft. Da gibt es einen Service, der eine URL zu einer beliebigen Zeit regelmäßig aufrufen kann (habe aber den Namen vergessen, da ich den Service nicht brauche).
Gruß
blackdrake
-
Der support hat mir geschrieben:
wenn Sie php Scripte per Cronjob aufrufen laufen diese im safemode und ohne alle Funktionen. Sie koennen dort z.B. keine includes einfuegen.
Ein externer Server wäre blöd, möchte unabhängig sein. Ich verstehe diese Begrenzung nicht...
-
Habe es mit absolutem Pfad versucht:
// In html/cronjobtest.php include ('var/www/html/web301/html/cronjobtestaccess.php');
Warning: include(): open_basedir restriction in effect. File(/var/www/html/web301/html/cronjobtestaccess.php) is not within the allowed path(s): (/tmp) in /var/www/html/web301/html/cronjobtest.php on line 2 Warning: include(/var/www/html/web301/html/cronjobtestaccess.php): failed to open stream: Operation not permitted in /var/www/html/web301/html/cronjobtest.php on line 2 Warning: include(): open_basedir restriction in effect. File(/var/www/html/web301/html/cronjobtestaccess.php) is not within the allowed path(s): (/tmp) in /var/www/html/web301/html/cronjobtest.php on line 2 Warning: include(/var/www/html/web301/html/cronjobtestaccess.php): failed to open stream: Operation not permitted in /var/www/html/web301/html/cronjobtest.php on line 2 Warning: include(): Failed opening '/var/www/html/web301/html/cronjobtestaccess.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/web301/html/cronjobtest.php on line 2