2017-04-08 15 views
0

私はPHPスクリプトの出力を電子メールで追跡することができますが、15分に1回という速さで実行しています。電子メールの過剰流入私は物事を私のPHP出力を含むログフォルダに整理しておきたいと思います。電子メールの代わりにログファイルにPHP Cronジョブを出力する

は、ここに私のcronジョブです:

*/15 * * * * /usr/bin/php public_html/mysite/folder/script.php 

私は

*/15 * * * * /usr/bin/php public_html/mysite/folder/script.php >> /mysite/logs/folder/$(date +"\%Y-\%m-\%d_\%H:\%M").log 2>&1 

に変更しようとしました。しかし、私はまだエラー

で電子メールを経由してエラー出力を受けています

/usr/local/cpanel/bin/jailshell:/mysite/logs/folder/2017-04-08_10:27.log:このようなファイルやディレクトリはありません

これを修正してPHP出力をログファイルまたはtxtファイルに取得するにはどうすればよいですか?

編集:

今後の参考のために、これを行うための適切な構文は次のとおりです。

*/15 * * * * public_html/mysite/folder/script.php >> mysite/logs/folder/$(date +"\%Y-\%m-\%d_\%H:\%M").log 2>&1 
+0

ディレクトリ '/ mysite/logs/folder /'が存在することを確認してください。最善の方法は、ターミナルでコマンドを実行することです。リダイレクトとすべてをcrontabに入れる前に実行します。 – axiac

答えて

0

構文はokです、パスを確認してください。あなたは/mysiteを入れていますが、それは実際にはルートにありますか?スクリプトを参照するときは、public_html/mysiteと入力します。

ログファイルの絶対パスを確認し、crontabを更新してください。

+0

素晴らしい。すべての異なる方向で頭を回転させていた簡単な修正。私はちょうど '/'を 'mysite'から削除しなければなりませんでした。 –

+0

それは私たちすべてに起こります!それがうれしかった。 – kontiki

+0

cron **は通常、ユーザーのホームディレクトリで実行されますが、実装に依存する可能性があります。あなたの場合、私は 'mysite'がユーザのホームディレクトリにあると仮定しています。混乱を避けるため、絶対パスを使用する方がよいでしょう。 crontabの作業ディレクトリを確認する簡単な方法の1つは、crontabに '* * * * pwd>/tmp/pwd.txt'のような行を作成することです。 pwd.txtファイルで、1分以内で答えが得られます。あなたのcrontabからその行を削除することを忘れないでください! – kontiki

関連する問題