Cronを実行して、5分ごとにURLを実行しようとしました。
WGETを使用しようとしましたが、サーバーにファイルをダウンロードしたくないので、実行するだけです。
これは私が使用したものです(crontab):
*/5 * * * * wget http://www.example.com/cronit.php
URLをダウンロードするのではなく、単にURLを実行するためにwget以外に使用する他のコマンドはありますか?
いくつかの異なる方法でコンテンツをダウンロードしないようにwgetに指示できます。
wget --spider http://www.example.com/cronit.php
HEADリクエストを実行しますが、おそらくあなたが望むことをします
wget -O /dev/null http://www.example.com/cronit.php
出力を/ dev/null(ブラックホール)に保存します
Wgetの-qスイッチも参照してください。出力を作成できません。
おそらく、最良の選択肢は次のようになると思います。
wget -q --spider http://www.example.com/cronit.php
それは、ページをリクエストするために使用されるHTTPメソッドをチェックする特別なロジックがない限りです
wget -O- http://www.example.com/cronit.php >> /dev/null
つまり、ファイルをstdoutに送信し、stdoutを/ dev/nullに送信します
PHPが失敗した場合にのみ出力を取得する場合:
php -r 'echo file_get_contents(http://www.example.com/cronit.php);'
この方法では、スクリプトが失敗した場合にのみcronjobから電子メールを受信し、phpが呼び出されたときは受信しません。
次のフォーマットを試してみましたが、うまくいきました
*/5 * * * * wget --quiet -O /dev/null http://localhost/cron.php