我有一个带有文件删除命令的 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 中以不同的方式工作?
我应该怎么做才能让它工作?