数分ごとに実行する必要のある2つのphpスクリプトがありますhttp://myfakesite.com/myphpfile.php
が、ブラウザーに入力して手動でトリガーできるため、php自体は問題ありません。どちらも正常に機能します。
cronの経験はあまりありませんが、crontabファイル(VPNでParallels Power Panelを使用しています)を見つけました。すでに実行するジョブがあります。cron.hourly、daily、weekly、monthlyの一部です。メールアドレスをMAILTOフィールドに追加すると、cron.hourlyはディレクトリではないというメッセージが表示されます(現在は空ですが)。
また、次のように、このファイルに自分の2つのジョブを追加しました。
*/1 * * * * wget http://myfakesite.com/script1.php
*/5 * * * * wget http://myfakesite.com/script2.php
これらのどちらも呼び出されることはありません。phpスクリプトには、スクリプトが呼び出されたら電子メールを送信する行もあります。これにより、スクリプトが機能していることがわかり、cronjobを介して電子メールを受信したことはありません。サーバーにSSHで接続し、wgetを使用すると、phpが機能し、確認のためにメールで通知されます。
私も試しました
*/1 * * * * php http://myfakesite.com/script1.php
と
*/1 * * * * wget -O /dev/null http://myfakesite.com/script1.php>/dev/null 2>&1
運がない。crontabファイルのMAILTOは、スクリプトの実行に問題があったことを示すメッセージを送信しませんが、明らかにそれを実行していません。
誰か助けてもらえますか?次に何をしようかわからない。
編集:「ディレクトリではありません」エラーは、破損したcrontabファイルに起因する可能性があるという情報が見つかりました。そこで、ダウンロードして情報を新しいファイルにコピーしてアップロードしました。「ディレクトリではありません」というエラーが消えました...完全に。cron.myfakefolderのように存在しないことがわかっているフォルダを探すように指示しても、Not a directory: /etc/cron.myfakefolder
メールは届きません。新しいcrontabファイルを元のファイルに置き換えましたが、cronjobからのフィードバックがまだ得られません。
編集2:dAm2Kとprodigitalsonが示唆したように、私はwgetとphpの両方への絶対パスを使用してみました。どちらも機能していません。実際に存在することを確認するために、usr / bin/wgetとusr/bin/phpの場所を再確認しました。var / log/cronとvar/log / messagesもチェックしましたが、どちらにも次のものが含まれていました。
2002「ダウンロード」操作を実行できません:要求されたファイル「/ var / log/cron」は一度に送信するには大きすぎます。512KB単位でファイルをリクエストしてみてください
これで何が起こっているのか分かりません。編集1で述べたように、意図的に誤った場所を追加しても、エラーメールを受信しなくなりました。これはログファイルのエラーに関連していますか?
また、crondが実行されており、「システムサービス」と「システムプロセス」の両方に従って実行されていることを確認しました。