wpforge
Goto Top

Php per Cronjob ausführen

Hallo,
ich habe ein php script, welches ich unter root per cronjob ausführen lasse.
enthalten ist folgender befehl:
$address = trim(shell_exec('su -c "./folder/command '.$account.'" ubuntu 2>&1'));

sowohl unter dem user ubuntu mit sudo php create.php
als auch nach
sudo su
php create.php

Läuft das Script problemlos.

Wird es aber aber per cronjob als root ausgeführt, kommt für $address => "bash: ./folder/command: Permission denied"

Wo könnte hier das Problem liegen?

Content-Key: 427272

Url: https://administrator.de/contentid/427272

Printed on: April 18, 2024 at 03:04 o'clock

Member: falscher-sperrstatus
falscher-sperrstatus Mar 10, 2019 at 15:32:06 (UTC)
Goto Top
Du bist wohl im falschen Path ooder hast die falschen Rechte, aber das kann man leicht ergooglen...
Member: WPFORGE
WPFORGE Mar 10, 2019 at 15:40:51 (UTC)
Goto Top
Das ist ja der Punkt...
Das Script an sich wird ausgeführt.
nachdem ich den eintrag mit crontab -e unter root erstellt habe, gehe ich davon aus, dass das Script auch als root ausgeführt wird.
was in der kommandozeile ja folgedem entspräche:
sudo su
php create.php

Das läuft allerdings problemlos.
Member: maretz
maretz Mar 10, 2019 at 18:53:21 (UTC)
Goto Top
als erstes gib immer volle pfadnamen zu kommandos und verzeichnissen an... Nix relatives mit ./ -> denn du weisst ja erst mal nicht in welchem verzeichnis sich "cron" beim ausführen so befinden mag...