Ubuntu crontab PHPが機能しない

Ubuntu crontab PHPが機能しない

はい、私はたくさんの文書を読んでいますが、うまく機能できません。 1分に1〜2回実行したい単純な単一のPHPファイルがあります。私のPHPファイル名はcronjob_refresh.phpで、Ubuntu 12を使用しています。

入力後

クローンタップ-e

ターミナルに入ります。

root@cron:~# crontab -e

rootにcrontabはありません - 空のタブを使用してください

第888話

「888」が何を意味するのかわかりません...(888以降)cronjob文字列を書いています。

*/1 * * * * php /var/www/cronjob/cronjob_refresh.php

Enterキーを押すと、cronjob文字列を入力して "?"記号が表示されます。

root@cron:~# crontab -e

rootにcrontabはありません - 空のタブを使用してください

第888話

*/1 * * * * php /var/www/cronjob/cronjob_refresh.php

次に CTRL+Z を押して終了します。結局私は処刑をしている

クローンタップ-l

私のcronjobリストにcronjobが追加されたことを確認しましたが、リストが空であることがわかります。

何が間違っているのかわかりません。そして1分で30~30秒で2回やりたくないです。 cronjobを設定するには?同じディレクトリにあるlog.logというファイルにすべての内容を記録したいのですが可能ですか?

答え1

888はデフォルトのUbuntu crontabファイルの文字数です(22行の情報はすべてコメントアウトされています)。

^Zを入力すると、何も保存されず、ジョブはバックグラウンドに進みます。ジョブコントロールをお読みください。

888
*/1 * * * * php /var/www/cronjob/cronjob_refresh.php
?
^Z
[1]+  Stopped                 crontab -e

実行する前にエディタの設定を指定する必要があります。crontab -e

export EDITOR=vi またはexport EDITOR=nano

Cronは1分の解像度でのみ動作するため、スクリプトは操作を完了するのに30秒かかります。

PHPが機能しないという他の問題がある場合(crontab仕様のバグのため)、次をお読みください。標準Q&Aこのトピックについて。

答え2

まず、毎秒cronjobを予約することはできません。 cron で指定できる最小単位は分であるためです。あなたが望むのは、おそらく次のスクリプトを実行することです。

注:位置の背後にある2つのバックティックのうちの1つを削除します。編集者は削除を許可していません...

#!/usr/bin/perl -w

そして(1){

`php /path/to/script/cronjjob_refresh.php ``;

睡眠(30);

}

しかし、これを再考する必要があります。システムで30秒ごとにスクリプトを実行する必要がある場合は、おそらく何かが間違っている可能性があります。

関連情報