0

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

我像这样从 php 运行它:

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

如果我从浏览器打开 PHP 文件,那可以正常工作,但不能从计划的 cron 选项卡中工作。

PHP用户:www-data

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

我将此添加到我的 visudo 中:

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

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

sudo:对不起,运行 sudo 需要密码

为什么在 cron 中以不同的方式工作?

我应该怎么做才能让它工作?

4

1 回答 1

0

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

于 2016-11-29T09:22:02.763 回答