2016-07-18 6 views
3

crontabのスクリプトを実行します手動でジョブが追加され、記録されているのがわかりますが、実行されていないようです。しかし、私がphp ./ProcessCycleTimeData.phpを実行すると正常に動作します。これをトラブルシューティングするためのアイデアは何ですか?PHPは、私のinit.phpファイルで、私は次のコードが含まれてCrontab.phpを必要とし、PHP-スリムなWebアプリケーションの一部として、1分ごとに

私はエラーログに探していて、毎分、私は次のログを取得する:

crontab: no crontab for daemon 
+0

このスクリプトを実行するユーザーは – JrBenito

+0

です。 (OSXを使って)私の現在のユーザでもcrontabが実行されない – ugotchi

+0

'crontab -e'を実行してコマンドはそこにあり、そうでなければそれを追加します。 – JrBenito

答えて

2

私はそれを稼働させることができました。私の解決策は、crontabが実際に実行されているかどうかを、>>/tmp/auto-update.log 2>&1というcrontabジョブを追加することで調べて、さらに問題を調査できるようにすることでした。私は手動で私は自分のユーザー名としてそれを呼び出しておりますので、私は仕事を見ることができなかったcrontab -eを呼んでいたので、なぜ私はcrontabファイルが実際に実行されているが、別のユーザーとしてしていることがわかっ

(。

のcrontabました実際に私のPHPスクリプトを呼び出すと、auto-update.logのエラーが見つかる可能性があります。これは、必要なパスが間違っているために起こったものです。

+0

おめでとう、素敵なアプローチ。共有してくれてありがとう。 – JrBenito

2

他がある場合は、一般的にvi(これはデフォルトのエディタを開きます、crontabファイルを編集するcrontab -eを使用することができます設定されていません)。

編集このスクリプトが実行され、行を追加する必要があるユーザーのためのcrontabファイルとして:

*/1 * * * * php ./ProcessCycleTimeData.php

これは

ごとに1分

    を意味し、
  • 注: 提供するPHPスニペットは、tryiです。 crontabを編集して上記の行を追加してください。しかし、許可の不足により失敗する可能性があります。
+0

'(crontab -u daemon -l 2>/dev/null; echo "*/1 * * * * php ./ProcessCycleTimeData.php")| crontab-'を手動で入力すると、' crontab -l'と入力すると表示されますので、そこにあります。それは何らかの理由で実行されません。私は同じアカウントを使ってコマンドラインからProcessCycleTimeData.phpを実行していますが、sudoを使わずに実行します。 – ugotchi

+0

@ggwc @ Jason Kの示唆するように、 '*/1'を' * ' 。 – JrBenito

関連する問題