crontab から呼び出す次のシェルスクリプトがあります。これは、wget や find などのシェル コマンドを含む php コードを呼び出すまで正常に動作します。
#!/bin/sh
PATH=/opt/server/php/bin:/usr/bin/wget:/bin/egrep:/usr/bin/find
cd /opt/server/apache2/htdocs/webapp/
php oil refine job:handler
コマンドごとに、パスを検索するためにwhich コマンドを実行し、それをパス変数に追加しました。それにもかかわらず、コマンドが見つからず、次のようなメッセージが表示されます。
sh: wget: not found
sh: find: not found
どうすればこれを修正できますか? これが一般的な問題であることは知っていますが、ここでスタックオーバーフローに関する適切な説明が見つかりませんでした。また、bash と crontab からスクリプトを呼び出すと環境設定が異なる可能性があることはわかっていますが、いずれにしてもこれらのエラーが発生します。