2016-11-29 1 views
0

Ich habe eine SH-Datei mit Datei entfernen Befehle.Run SH-Datei von PHP mit Cron

Ich betreibe es von PHP wie folgt aus:

shell_exec("sudo -n ./truncatefiles.sh 2>&1"); 

Das ist funktioniert gut, wenn ich die PHP-Datei von Browser zu öffnen, aber nicht funktioniert geplanter cron Tab.

PHP Benutzer: www-data

Wenn ich whoiami von cron ausführen, gibt gleich: www-data

Ich habe das meinem visudo:

www-data ALL=(ALL) NOPASSWD: /www/sites/..../importscript/truncatefiles.sh 

Shell exec für diese sh Datei zurückkehrt (von Cron):

sudo: Entschuldigung, ein Kennwort wird benötigt, um sudo

zu laufen

Warum funktioniert es dirrefent Weg in Cron?

Was soll ich tun, damit es funktioniert?

+0

ist es ein Apache-Webserver, richtig? – mirko911

+0

Ja, seine 2.2.16 (Debian) – bbenhu

Antwort

0

Versuchen Sie folgendes zu tun, Versuchen Sie, Ihre Ausgabe von crotab in einer Datei zu protokollieren, * * myscript.php >> /var/log/myjob.log 2> So können Sie Ihre debuggen Skript. 1. Überprüfen Sie auch die Benutzer und Berechtigungen für Ihr Shell-Skript, PHP-Datei. 2. versuchen Sie mit Sudo Crotab -e

+0

Ich kenne die Antwort: Sudo: Entschuldigung, ein Passwort ist erforderlich, um sudo – bbenhu

+0

PHP-Datei 777, SH-Datei 777 – bbenhu

+0

Shell Exec auf diese Weise: ./truncatefiles.sh 2> & 1 ask Passwort, beginnend mit sudo -n gibt ein Passwort zurück. Keine Antwort mehr :( – bbenhu