カスタムcrontabが機能しない(FreeBSD)

カスタムcrontabが機能しない(FreeBSD)

次のコマンドを使用してcrontab.customファイルを作成しました。

*/1 * * * * /home/username/data/www/run.sh  

以下run.shを含みます。

php script.php  

その後、このコマンドを実行しますcrontab crontab.custom

crontab -l私の使命に戻りましょう。

cronを再起動しましたが呼び出されませんでした/etc/rc.d/cron restartscript.php動作させるにはどうすればよいですか?

ベストアンサー1

これは、設定が構成されていないためです$PATHphpシェルで実行しようとすると、実際に実行可能ファイルを探すディレクトリのリストであるphp絶対ターゲットが見つかります。$PATHこれはあなたの環境で設定されていますが、cronはその環境を共有しません(実際には1つが空であるか設定されていない可能性があります$PATH)。いくつかのソリューションがあります(最高から最悪まで)。

  • $PATH上部に次の内容を追加してcrontabを設定します。
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  • スクリプトで実行可能ファイルのフルパスを使用しますphp(これはお勧めできません。ユーザーは、必要に応じて他のバイナリを使用するために環境でPATHをオーバーライドできる必要があります)。

  • $PATHスクリプトで明示的に設定します(同じ理由で悪い)。

おすすめ記事