用cron从php运行sh文件

时间:2016-11-29 08:30:08

标签: php cron debian visudo

我有一个带文件删除命令的sh文件。

我从php运行它:

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

如果我从浏览器打开PHP文件,那么这可以正常工作,但是从预定的cron选项卡中无效。

PHP用户:www-data

如果我从cron运行whoiami,则返回相同的内容:www-data

我把它添加到我的视觉中:

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

这个sh文件的Shell exec返回(来自cron):

sudo:抱歉,运行sudo需要密码

为什么在cron中使用dirrefent方式?

我该怎么办才能让它发挥作用?

1 个答案:

答案 0 :(得分:0)

请尝试执行以下操作, 尝试将输出从crotab记录到文件中, * * myscript.php>> /var/log/myjob.log 2>& 1 这样您就可以调试脚本。 1.还检查shell脚本的用户和权限,php文件。 2.尝试使用sudo crotab -e