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

Ausgedruckt am: 28.03.2024 um 15:03 Uhr

Mitglied: falscher-sperrstatus
falscher-sperrstatus 10.03.2019 um 16:32:06 Uhr
Goto Top
Du bist wohl im falschen Path ooder hast die falschen Rechte, aber das kann man leicht ergooglen...
Mitglied: WPFORGE
WPFORGE 10.03.2019 um 16:40:51 Uhr
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.
Mitglied: maretz
maretz 10.03.2019 um 19:53:21 Uhr
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...