次のコマンドを使用してcrontab.customファイルを作成しました。
*/1 * * * * /home/username/data/www/run.sh
以下run.sh
を含みます。
php script.php
その後、このコマンドを実行しますcrontab crontab.custom
。
今crontab -l
私の使命に戻りましょう。
cronを再起動しましたが呼び出されませんでした/etc/rc.d/cron restart
。script.php
動作させるにはどうすればよいですか?
ベストアンサー1
これは、設定が構成されていないためです$PATH
。php
シェルで実行しようとすると、実際に実行可能ファイルを探すディレクトリのリストであるphp
絶対ターゲットが見つかります。$PATH
これはあなたの環境で設定されていますが、cronはその環境を共有しません(実際には1つが空であるか設定されていない可能性があります$PATH
)。いくつかのソリューションがあります(最高から最悪まで)。
$PATH
上部に次の内容を追加してcrontabを設定します。
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
スクリプトで実行可能ファイルのフルパスを使用します
php
(これはお勧めできません。ユーザーは、必要に応じて他のバイナリを使用するために環境でPATHをオーバーライドできる必要があります)。$PATH
スクリプトで明示的に設定します(同じ理由で悪い)。