ファイル削除コマンドを含む 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 ファイルのシェル exec は (cron から) を返します。
sudo: 申し訳ありませんが、sudo を実行するにはパスワードが必要です
cron で異なる方法で動作するのはなぜですか?
機能させるにはどうすればよいですか?