2016-11-29 124 views
0

我有一個帶有文件刪除命令的sh文件。從cron運行sh文件

我從PHP運行它是這樣的:如果我打開瀏覽器從PHP文件

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

那工作正常,但是從預定的cron標籤不工作。

PHP用戶:www-data

如果我從cron運行whoiami,返回相同的:WWW的數據

我將此添加到我的visudo命令:

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

殼牌高管爲此SH文件的回報(來自cron):

sudo:對不起,需要密碼才能運行sudo

爲什麼在cron中使用dirrefent?

我該怎麼做才能讓它工作?

+0

它是一個Apache網絡服務器,對不對? – mirko911

+0

是的,它的2.2.16(Debian) – bbenhu

回答

0

請儘量做到以下幾點, 嘗試從crotab你的輸出記錄到文件中, * myscript.php >> /var/log/myjob.log 2> 這樣你就可以調試腳本。 1.另外檢查用戶和你的shell腳本的權限,php文件。 2.試用sudo crotab -e

+0

我知道回覆:sudo:對不起,需要密碼才能運行sudo – bbenhu

+0

PHP文件777,sh文件777 – bbenhu

+0

shell exec這種方式:./truncatefiles.sh 2>&1 ask密碼,以sudo開頭-n返回密碼是必需的。沒有更多的迴應:( – bbenhu