cronジョブを使用してHTML GETリクエストを送信するにはどうすればよいですか?

httpリクエストをURLに送信するcronジョブを設定したいと思います。どうすればいい?私は前にクローンを設定したことはありません。

2
追加された 著者 php-b-grader,

4 答え

cronジョブは、通常の事前設定された間隔でバックグラウンドで実行されるタスクです。

ほとんどの言語でジョブの実際のコードを書くことができます。単純なPHPスクリプトやbashスクリプトでも可能です。

PHPの例:

#!/usr/bin/php -q
<?php 

file_put_contents('output.txt', file_get_contents('http://google.com'));

次に、cronジョブをスケジュールします。

10 * * * * /usr/bin/php /path/to/my/php/file > /dev/null 2>&1  

...上記のスクリプトは、バックグラウンドで10分ごとに実行されます。

Here's a good crontab tutorial: http://net.tutsplus.com/tutorials/other/scheduling-tasks-with-cron-jobs/

また、使用するリクエストメソッドに応じて、cURLを使用してこれを行うこともできます。

$url = 'http://www.example.com/submit.php';
// The submitted form data, encoded as query-string-style
// name-value pairs
$body = 'monkey=uncle&rhino=aunt';
$c = curl_init ($url);
curl_setopt ($c, CURLOPT_POST, true);
curl_setopt ($c, CURLOPT_POSTFIELDS, $body);
curl_setopt ($c, CURLOPT_RETURNTRANSFER, true);
$page = curl_exec ($c);
curl_close ($c);
5
追加された

wget を使用できないのはなぜですか?別のチュートリアルがあります。

2
追加された
あなたは死んだリンクを持っています。
追加された 著者 Nik Sumeiko,

おそらく通常の(つまり特権を持たない)ユーザーとしてこれをやりたいので、root以外のユーザーとしてログインしていると仮定します:

$ echo 'curl -s http://example.com/ > /dev/null' > script.sh
$ chmod +x script.sh
$ crontab -e

このエントリを追加して、http要求を5分ごとに1回行います。

*/5 * * * * /path/to/your/script.sh

Preferably you don't want script.sh to give any output when there is no error, hence the > /dev/null. Otherwise cron will email the output to (most likely root) every 5 minutes.

それはあなたを始めさせるのに十分なはずです。この時点で、cronについて少し学ぶために少し時間を投資すればよいのです。 cronの適切なマニュアルページを読んでください。

cronジョブを実行するための形式から始めます。

$ man 5 crontab

次に、実際のデーモンを使って:

$ man cron

一般的なアドバイス:コマンドラインのスニペットを直ちにコピーして貼り付けるのではなく、スイッチが何をするのかを読んでください。

2
追加された
"0,30 * * * * curl example.com" のような行は、crontabファイルの中で動作しますか?
追加された 著者 John,

linuxを使用している場合

crontab -e

curlコマンドを追加する

10 15 * * * /usr/bin/curl --silent http://test.com?some=crontab &>/dev/null

every day 10:15 you will send html GET request to http://test.com with param "some" and value "crontab"

0
追加された